Javascript 在循环中创建对象的元素

Javascript 在循环中创建对象的元素,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,我想在循环中创建对象的嵌套元素 曼努埃尔: $tmp={ "items": { "key1": {"name": "alpha"}, "key2": {"name": "bravo"}, "key3": {"name": "charlie"} } } alert($tmp['items']['key2']['name']) 但是如何在循环中创建所有VAL??? 比如: for

我想在循环中创建对象的嵌套元素 曼努埃尔:

$tmp={ "items": {
            "key1": {"name": "alpha"},
            "key2": {"name": "bravo"},
            "key3": {"name": "charlie"}
             }
 }
         alert($tmp['items']['key2']['name'])
但是如何在循环中创建所有VAL??? 比如:

 for (var x = 0; x < 100; x++) {
   $tmp2={"key"+x: {"name": "name"+x}}
   $tmp.push($tmp2)

  }
        alert($tmp['items']['key0']['name'])

???

在循环外声明键/值对的容器,然后使用[]语法将键添加到循环内的容器中

 $tmp = { "items": {} };
 for (var x = 0; x < 10; x++) {
   // $tmp.items is equivalent to $temp["items"]
   $tmp.items["key"+x] = { "name" : "name" + x };
 }

在循环外部为键/值对声明容器,然后使用[]语法将键添加到循环内部的容器中

 $tmp = { "items": {} };
 for (var x = 0; x < 10; x++) {
   // $tmp.items is equivalent to $temp["items"]
   $tmp.items["key"+x] = { "name" : "name" + x };
 }
您可以这样做:

var $tmp={ 'items': {} };

for (var x=0; x<100; x++) {
    $tmp['items']['key'+x]={ 'name': 'name'+x };
}

alert($tmp['items']['key0']['name']);
但是$tmp.items.keyN.name的值只是nameN似乎没有意义

您可以这样做:

var $tmp={ 'items': {} };

for (var x=0; x<100; x++) {
    $tmp['items']['key'+x]={ 'name': 'name'+x };
}

alert($tmp['items']['key0']['name']);

但是$tmp.items.keyN.name的值只是nameN似乎没有意义

你试过了吗?发生了什么?另外,您只能推送到数组,而不能推送到对象。您需要将项目设置为数组,然后执行$tmp['items'];它将创建新的密钥0,1$tmp['items'][0]['key0']['name']您尝试过吗?发生了什么?另外,您只能推送到数组,而不能推送到对象。您需要将项目设置为数组,然后执行$tmp['items'];它将创建新的密钥0,1$tmp['items'][0]['key0']['name']