[英]How to use HandleBars to output each element of an array inside a JSON object
[英]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.