簡體   English   中英

Uncaught TypeError:無法在2D數組(JavaScript)上設置undefined的屬性“ 0”

[英]Uncaught TypeError: Cannot set property '0' of undefined on 2D array (JavaScript)

我嘗試將值從String設置為2D-Array。

但這行不通。 圖片中的錯誤描述。

我的代碼:

data = "012021111"
function isGameOver(data){
var map = [[],[]];
var index = 0;
    for (var i = 0; i < 3; i++) {
        for (var j = 0; j < 3; j++) {
            map[i][j] = data[index];
            console.log("index: " +index+ ",i: " + i + ",j: " + j + ", data: " + map[i][j]);
            index++;             
        }            
    }        
 }

在此處輸入圖片說明

代碼中的錯誤是因為您初始化map = [[], []] ,即map是一個僅包含兩個元素的數組,這些元素又是數組。 但是您正在嘗試訪問未定義的map [2]。 更好的解決方案是將map初始化為一個空數組,並在其內部先進行循環推送數組以根據需要進行映射。

 data = "012021111" function isGameOver(data){ var map = []; var index = 0; for (var i = 0; i < 3; i++) { map.push([]); for (var j = 0; j < 3; j++) { map[i][j] = data[index]; console.log("index: " +index+ ",i: " + i + ",j: " + j + ", data: " + map[i][j]); index++; } } } isGameOver(data); 

暫無
暫無

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

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