我想在for循环中的数组中定义一个对象:
var test = [{}];
for(j = 0; j < 10; j++){ test[j]['name'] = "Jonh Lennon"; };
console.log(test[0]['name']);
当我尝试这样做时,我收到错误&#34;无法设置属性&#39; name&#39;未定义&#34;。
答案 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