在for循环中设置自定义JSON对象名称
问题描述:
如何在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]},
];
答
支架符号:
for (var i = 0; i<= 8; i++){
var obj = {};
obj['name'+ i] = [0,0,0];
myArray.push(obj);
}
答
要使用变量作为键在一个对象,你应该用括号标记:
var myArray = [];
for (var i = 0; i<= 8; i++){
var x = "name" + i,
obj = {};
obj[x] = [0,0,0];
myArray.push(obj);
}