簡體   English   中英

"在 Javascript 中加入關聯數組"

[英]Join associative arrays in Javascript

我在 Javascript 中有兩個(或更多)關聯數組:

tagArray['title'] = ('<H1>title</H1>');
tagArray['text'] = ('<P>text</P>');

並想像這樣加入他們:

tagFinal = tagArray.join("<BR>");

但結果是空的。

它應該導致: tagFinal = '<H1>title</H1><BR><P>text</P>';

我究竟做錯了什么? (我也試過不帶標簽,沒有區別)或者我最好push() -ng 它到一個新的數組/字符串?

JavaScript中沒有“關聯數組”類型。 有對象,有陣列。 Array原型有一個.join()方法,但Object沒有.join()方法。

(對象通常像關聯數組一樣工作,但沒有內置的模擬實際數組的顯式功能。例如,您無法找到Object實例的“長度”。)

但是你可以編寫這樣一個函數:

function smush( o, sep ) {
  var k, rv = null;
  for (k in o) {
    if (o.hasOwnProperty(k)) {
      if (rv !== null) rv += sep;
      rv += o[k];
    }
  }
  return rv;
}

你是否真的想要限制“smush”函數來處理對象的直接屬性(而不是繼承屬性),以及你是否想要按類型進行過濾,這是你必須自己決定的事情。

此代碼應該適合您:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM