我有一个奇怪的问题。
我有一个“二维数组”,它以0和1的形式存储x-y详细信息。我正在检查给定坐标上任何“方向”上是否有0。
举例来说,这意味着如果我的数字是0-5,则超出范围。
这将使所有超出范围的检查均出现错误。但是它只在外部“ x数组”上给出,而不在内部“ y数组”上给出。
//x = 0, y = 0
if(visitedGrid[x][y-2] != undefined && visitedGrid[x][y-2] == 0){//here its fine
unvisitedDirections[0] = 0;
}
if(visitedGrid[x-2][y] != undefined && visitedGrid[x-2][y] == 0){//here it gives an error
unvisitedDirections[3] = 0;
}
如何解决此问题,从而不会出现错误?
我真的不知道该怎么办...
最佳答案
您需要检查visitedGrid[x-2]
是否为数组,然后检查visitedGrid[x-2][y] == 0
。检查它是否是数组很容易,只需使用Array.isArray。这样就可以是:
if(Array.isArray(visitedGrid[x-2]) && visitedGrid[x-2][y] == 0){//here it doesn't gives an error
unvisitedDirections[3] = 0;
}
关于javascript - Javascript 2d数组:越界问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57601192/