JavaScript中看似随机的类型错误

JavaScript中看似随机的类型错误,javascript,typeerror,Javascript,Typeerror,目前,我正在开发一个可以在网站上运行的小型游戏,但我很早就遇到了一个相当奇怪的打字错误。以下是我目前使用的代码: level0=[[0,0,0,0,0,0,0,0,0,0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];

目前,我正在开发一个可以在网站上运行的小型游戏,但我很早就遇到了一个相当奇怪的打字错误。以下是我目前使用的代码:

level0=[[0,0,0,0,0,0,0,0,0,0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
让字符={
x:0,,
y:0,
}
功能立根板(array2d){
让我;
设m=0;
对于(i=0;i<(array2d.length*10);i++){
如果(m==6){
打破
};
设z=document.getElementById(`${String(m)}-${i}').classList;
//设z1=`${m}-${i}是${z}`;
//控制台日志(z1);
如果(z==“选择墙”){
阵列2d[m][i]=1;
}else if(z==“选择游戏板角色”){
阵列2d[m][i]=2;
字符x=i;
字符y=m;
document.getElementById(`${String(m)}-${i}')。innerHTML=“YOU”;
}否则,如果(z==“选择游戏板目标”){
阵列2d[m][i]=3;
document.getElementById(`${String(m)}-${i}')。innerHTML=“GOAL”;
}
如果(i==9){
m++;
i=-1
}
}
}
立根板(0级);
console.log(字符);
log(level0[character.x+1][character.y]);
函数moveRight(array2d){
if(array2d[character.x+1][character.y]==0){
字符.x++;
console.log(字符);
}
}
下面是错误:
uncaughttypeerror:无法读取script.js:43中未定义的属性“3”

我检查了属性是否以数字形式存储,并且它们似乎以数字形式记录。我还确定这是一个严格意义上的JavaScript问题,因为在整个过程中,似乎没有任何HTML在任何时候运行不正常。有什么我遗漏的吗?任何帮助都将不胜感激

如你所见,索引m代表外部索引,我代表内部索引

array2d[m][i]=2;字符x=i;字符y=m

但是,这个console.log语句使用i(character.x)作为外部,这将超过6以使其未定义

console.log(level0[character.x+1][character.y])


那么未定义的[m]将是未捕获类型错误

请单击“接受”,如果它解决了您的问题,谢谢,我没有意识到我翻转了x和y索引。非常感谢你!