我初始化了一个二维数组,如下所示:
var spielfeld = new Array(400);
for (var i = 0; i < spielfeld.length; i++) {
spielfeld[i] = new Array(400);
}
for (var i = 0; i < spielfeld.length; i++) {
for (var f = 0; f < spielfeld[i].length; f++) {
spielfeld[i][f] = false;
}
}
现在我想以与我在第二部分inizialisation中所做的相同的方式迭代它并检查其内容。像:
for (var i = 0; i < spielfeld.length; i++) {
for (var f = 0; f < spielfeld[i].length; f++) {
nachbarn = new Array(8);
if (spielfeld[i - 1][f - 1] == true) {
//stuff i wanna do
}
}
}
但是chrome调试器给了我这个错误:Uncaught TypeError:
未捕获的TypeError:无法读取未定义的属性“-1”
有人可以向我解释一下吗?
答案 0 :(得分:0)
spielfeld[-1]
评估为undefined
,访问[-1]
会产生Uncaught TypeError
。
JS的问题在于,与Python不同,[-1]并没有被包围。
答案 1 :(得分:0)
更改您的代码:
for (var i = 1; i <= spielfeld.length; i++) {
for (var f = 1; f <= spielfeld[i].length; f++) {
nachbarn = new Array(8);
if (spielfeld[i - 1][f - 1] == true) {
//stuff i wanna do
}
}
}
所以你在第一次迭代中没有调用spielfeld[-1][-1]