如何将数组分配给对象?

时间:2013-11-13 23:09:33

标签: javascript object

我试图通过循环为对象属性赋值。

我有类似

的东西
 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]]
               }
              ]

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

3 个答案:

答案 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];
}