我试图通过循环为对象属性赋值。
我有类似
的东西 var data = {'item1' : 'aa', 'item2' : 'bb', 'item3' : 'cc' ..more};
var elements: [
{
type : 'html',
html : 'adding html'
},
{
type:'select',
id:'select box',
//I want to add all my data array below but not sure how to do it.
items: [[data['item1'],0],[data['item2'],0]]
}
]
我不确定如何在元素对象中应用循环。任何人都可以帮我吗?谢谢!
答案 0 :(得分:1)
你可以使用它(需要JavaScript 1.8.5):
var elements = [
{
type : 'html',
html : 'adding html'
},
{
type:'select',
id:'select box',
items: Object.keys(data).map(function(key) { return [ data[key], 0 ]; })
}
];
答案 1 :(得分:0)
从循环中分配
var items= new Array();
for ( /* loop sttings depending on how you'll do it, and we suppose i as counter */){
var obj: new Object();
// set object feilds and values
items.push(obj);
}
并获取元素:
for (i in elements){
variable = items[i].feild;
// or var obj = items[i];
}
答案 2 :(得分:0)
在定义elements
对象时,您无法执行此操作。
只需将items
定义为数组,如下所示:items : []
然后
var index = 0;
for (var element in data) {
items[index++] = [data[element], 0];
}