在for循环

时间:2017-09-26 22:56:59

标签: javascript arrays loops object

我想在for循环中的数组中定义一个对象:

var test = [{}];

for(j = 0; j < 10; j++){ test[j]['name'] = "Jonh Lennon"; };

console.log(test[0]['name']);

当我尝试这样做时,我收到错误&#34;无法设置属性&#39; name&#39;未定义&#34;。

2 个答案:

答案 0 :(得分:0)

var test = [];
for(j = 0; j < 10; j++){ 
  test[j] = [];
  test[j]['name'] = "Jonh Lennon";
};

console.log(test[0]['name']);

答案 1 :(得分:0)

在代码中只将test [0]定义为对象文字。因此,当您的循环递增超过0时,test [j](其中j介于1和9之间)将返回undefined。

这是一个快速修复,它将返回一个对象文字数组,其键值对为{'name':'Jonh Lennon'}。

var test = [{}];

for(j = 0; j < 10; j++){ 
 test[j] = {};
 test[j]['name'] = "Jonh Lennon";   
};

console.log(test); // Log all john lennons