簡體   English   中英

對於array-json對象中的每個元素

[英]For each element in array-json object

1)我想要的是:

element1 = [roof, walls, floor]
element2 = [table, chair]

2)我的出發點是:

for(var i=0;i<roomElements;i++){ 
var room = [];
room.push({"element" + i + : getElement(room)});
}

“我”毀了黨。 如何將動態變量附加到json數組?

我需要空間成為像這樣的對象:

   var room = {"element1":"roof,walls,floor","element2":"table,chair"};

然后我想以某種方式處理該對象,這樣我就可以得到:

element1 = [roof, walls, floor]
element2 = [table, chair]

然后,我想用類似的東西來回顯這些新變量。

  for each element in room

所以我可以輸出:

  alert("element 1 has roof, walls,floor", "element2 has table, chair")    

您不能(在ES6之前)使用這樣的動態字段名稱。

代替room.push({"element" + i + : getElement(room)}); ,則需要:

var foo = {};
foo["element" + i] = getElement(room);
room.push(foo);

使用ES6,您可以使用計算出的屬性名稱,因此

room.push({["element" + i]: getElement(room)});

合法。

因為您在每次迭代中都要重新初始化elem ,所以仍然無法完全實現您想要的功能。 最好采用每個起始數組, join它們的元素join在一起並創建結果的完成對象:

var json = {
  element1: element1.join(','),
  element2: element2.join(',')
};

暫無
暫無

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

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