-2

我正在尝试通过循环为对象属性赋值。

我有类似的东西

 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]]
               }
              ]

我不确定如何在元素对象内应用循环。任何人都可以帮助我吗?谢谢!

4

3 回答 3

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 ]; })
    }
];
于 2013-11-13T23:13:17.093 回答
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];
}
于 2013-11-13T23:13:17.830 回答
0

elements定义对象时不能这样做。只需定义items为一个数组,如下所示items : []

var index = 0;
for (var element in data) {
    items[index++] = [data[element], 0];
}
于 2013-11-13T23:21:58.527 回答