检查多维数组中项旁边的位置



假设我们有一个二维数组:

array = [
        [1, 1, 1, 1, 1],
        [1, 1, 0, 1, 1], 
        [1, 1, 0, 0, 1], 
        [1, 1, 1, 1, 1],
        [1, 1, 1, 0, 1],
]

,现在我想检查位置array[2][2]旁边的其他0。实现这一目标的最佳方式是什么?

目前,我正在做这样的事情:

if(array[2+1][2] === 0){
    ...
}
if(array[2][2+1] === 0){
   ...
}
...

但是我希望有一个更有效的方法来处理这个问题。它需要大量的重复和错误检查。

如果您想检查某个字段附近的所有字段,这是最好的方法。

当然,你可以通过定义邻域数组来添加一些配置和自动化:

var neighborhoodArray = [[-1,0], [1, 0], [0, -1], [0, 1]];
var x = 2;
var y = 2;
neighborhoodArray.forEach(function(neigh) {
    if (array[x+neigh[0]][y+neigh[1]] == 0)
        {
            // do sth.
        }
});

多亏了这个,你可以自由地定义"next to"对你来说意味着什么

相关内容

  • 没有找到相关文章

最新更新