我初始化的2維陣列是這樣的:與環可變訪問數組
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
}
}
}
但鉻調試器給了我這個錯誤:未捕獲的類型錯誤:
Uncaught TypeError: Cannot read property '-1' of undefined
有人可以解釋這樣對我?
數組中的第一個迭代結果被訪問越界。 'i'從'0'開始,然後你做:'if(spielfeld [i - 1]'...試圖訪問'-1'的索引,這會引發一個錯誤。 – tymeJV
'spielfeld [-1 ]'undefined',然後'undefined [-1]'拋出一個錯誤 – 4castle