2013-04-05 71 views
1

如何在for循环中设置自定义JSON对象名称。在for循环中设置自定义JSON对象名称

var myArray = []; 

for (var i = 0; i<= 8; i++){ 

    var x = "name" + i; 

    myArray.push({x:[0,0,0]}); 

} 

我想这

myArray = [ 
      {name0:[0,0,0]}, 
      {name1:[0,0,0]}, 
      {name2:[0,0,0]}, 
      {name3:[0,0,0]}, 
      {name4:[0,0,0]}, 
      {name5:[0,0,0]}, 
      {name6:[0,0,0]}, 
      {name7:[0,0,0]}, 
      {name8:[0,0,0]}, 
      ]; 

但它返回这个

myArray = [ 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      {x:[0,0,0]}, 
      ]; 

回答

4

支架符号:

for (var i = 0; i<= 8; i++){ 
    var obj = {}; 
    obj['name'+ i] = [0,0,0]; 
    myArray.push(obj); 
} 
1

要使用变量作为键在一个对象,你应该用括号标记:

var myArray = []; 

for (var i = 0; i<= 8; i++){ 

    var x = "name" + i, 
     obj = {}; 

    obj[x] = [0,0,0]; 

    myArray.push(obj); 

}