san*_*osh -3 javascript for-loop object nested-loops
我是javascript的新手.当我使用对象和嵌套循环时.有弹药可供选择
var a = [{b:[{c:null}]}]
for(var x= 0 ; x<10;x++){
for(var y= 0 ; y<10;y++){
console.log(a);
a[x].b[y].c = y;
console.log(a);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误就像TypeError: Cannot set property 'c' of undefined有人可以解释为什么它这样工作.我本来想要这样
a[0].b[0].c = 1;
a[0].b[1].c = 2;......
a[1].b[0].c = 1;....
a[9].b[9].c = 9;
Run Code Online (Sandbox Code Playgroud)
我收到类似TypeError的错误:无法设置未定义的属性'c'可以解释为什么它会像这样工作
由于数组的大小a和b为1个,瞬间你y换成1它试图将数组b中进入第二项,它会返回undefined(因为该值不存在).
所以b[1].c- > undefined.c- > 错误(下面)
TypeError:无法设置未定义的属性"c"