簡體   English   中英

JS/TS:二維字符串數組突然變得未定義時出錯

[英]JS/TS: Error with 2D Array of strings suddenly becoming undefined

我正在為 Discord.js 應用程序制作 Connect 4 游戲。 我將游戲板保留為 2D 字符串數組並像這樣初始化它:

var board:string[][] = new Array<Array<string>>();
function resetBoard():void {
  for(let i=0; i<numRows; i++){
    board[i] = new Array<string>();
    for(let j=0; j<cols; j++){
      board[i].push(" ");
    }
  }
}

但是,當我嘗試訪問電路板的一部分時,它會引發錯誤“無法讀取未定義的屬性 '0'”。

function whatsAtPos(row, col){
  return board[row][col];
}

所有函數都在同一個文件中,board[][] 是一個全局變量。 我已經竭盡全力修復它,但我不知道發生了什么。

我建議你:

  • 在調用 whatsAtPos 之前驗證您是否調用了 resetBoard()
  • 驗證在重置板“numRows”時,您使用的“cols”將是 const 或在調用之前不會更改
  • 添加驗證:到 function whatsAtPos arguments 關於類型,並在 function 驗證行的值,列將在 [0,colsnum]-1 的范圍內,

暫無
暫無

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

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