未捕获类型错误:无法设置属性';0';在2D数组(JavaScript)上的未定义值
我正在尝试将字符串中的值设置为2D数组 但它不起作用。图片中的错误描述 我的代码:未捕获类型错误:无法设置属性';0';在2D数组(JavaScript)上的未定义值,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试将字符串中的值设置为2D数组 但它不起作用。图片中的错误描述 我的代码: 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]; c
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++;
}
}
}
data=“012021111”
函数isGameOver(数据){
var-map=[],[];
var指数=0;
对于(变量i=0;i<3;i++){
对于(var j=0;j<3;j++){
map[i][j]=数据[索引];
log(“索引:+index+”,i:+i+,j:+j+,数据:+map[i][j]);
索引++;
}
}
}
代码中的错误是因为您初始化了
map=[[],[]]
,即map是一个数组,仅包含两个元素,它们又是数组。但您正在尝试访问未定义的映射[2]。一个更好的解决方案是将map初始化为空数组,并在内部首先根据需要对循环推送数组进行映射
data=“012021111”
函数isGameOver(数据){
var-map=[];
var指数=0;
对于(变量i=0;i<3;i++){
map.push([]);
对于(var j=0;j<3;j++){
map[i][j]=数据[索引];
log(“索引:+index+”,i:+i+,j:+j+,数据:+map[i][j]);
索引++;
}
}
}
isGameOver(数据)代码>代码中的错误是因为您初始化了map=[],[]]
,即map是一个仅包含两个元素的数组,这两个元素又是数组。但您正在尝试访问未定义的映射[2]。一个更好的解决方案是将map初始化为空数组,并在内部首先根据需要对循环推送数组进行映射
data=“012021111”
函数isGameOver(数据){
var-map=[];
var指数=0;
对于(变量i=0;i<3;i++){
map.push([]);
对于(var j=0;j<3;j++){
map[i][j]=数据[索引];
log(“索引:+index+”,i:+i+,j:+j+,数据:+map[i][j]);
索引++;
}
}
}
isGameOver(数据)代码>