簡體   English   中英

使用for循環變量訪問數組

[英]Accessing Array with for-loop variable

我初始化了一個二維數組,像這樣:

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;
     }
}

現在,我想以與inizialization第二部分相同的方式遍歷它,並檢查其中的內容。 喜歡:

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”

誰可以給我解釋一下這個?

spielfeld[-1]undefined ,訪問它的[-1]會產生Uncaught TypeError
JS的問題在於,與Python不同,[-1]沒有包裝。

像這樣更改代碼:

 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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM