Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数组分配给对象?_Javascript_Object - Fatal编程技术网

Javascript 如何将数组分配给对象?

Javascript 如何将数组分配给对象?,javascript,object,Javascript,Object,我试图通过循环为对象属性赋值 我有点像 var data = {'item1' : 'aa', 'item2' : 'bb', 'item3' : 'cc' ..more}; var elements: [ { type : 'html', html : 'adding html' }, { type:

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

我有点像

 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]]
               }
              ]
我不知道如何在元素对象内部应用循环。有人能帮我吗?谢谢

您可以使用它(需要JavaScript 1.8.5):

从循环中分配

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

在定义
元素
对象时不能执行此操作。 只需将
items
定义为一个数组,如下所示:
items:[]
然后


data
看起来您开始编写javascript,最后使用php。那应该是什么?JS没有这样的关联数组。真的…你的代码没有任何意义。如果这是JS,那么
data
应该这样定义:
var data={'item1':'aa','item2':'bb','item3':'cc'…more}是什么阻止您执行
项:数据
?然后您可以访问
数据
,以后可以对其进行操作。@m59对不起,我的错。我把他们搞混了-1:这有什么用?
for (i in elements){
   variable = items[i].feild;
   // or var obj = items[i];
}
var index = 0;
for (var element in data) {
    items[index++] = [data[element], 0];
}