【发布时间】:2017-10-04 15:45:32
【问题描述】:
我正在尝试遍历二维数组,然后在 JavaScript 中遍历二维数组中每个元素周围的“框”。那是通过“上面的行”中的三个元素,元素所在的“行”中的三个元素,然后是元素所在的“行”的“下面”的三个元素。我遇到了关于什么的问题与字面的“边缘”案例有关。换句话说,我正在尝试遍历 (o) 周围的 x:
[[x, x, x, o],
[x, (o), x, o],
[x, x, x, o]]
当 (o) 位于边缘时,这就是我试图迭代的内容:
[[(o), x, o, o],
[x, x, o, o],
[o, o, o, o]]
关于如何在 JavaScript 中执行此操作的任何想法?
这是我目前所拥有的:
//iterates through each cell
for(var i = 0; i < height; i++){
for(var j = 0; j < width; j++){
var counter = 0;
//iterates through a box around each cell
for(var k = i - 1; k <= i + 1; k++){
for(var l = j - 1; l <= j + 1 ; l++){
if(cells[k][l].status === "alive"){
counter++;
}
}
}
【问题讨论】:
-
请添加你目前写的代码
-
欢迎来到 SO。请使用tour 并特别阅读how-to-ask。向我们展示一些代码,您将获得更多帮助!
-
谢谢!刚刚添加了一些代码
-
如果
k或l是 适当的维度,则不要进行cells[k][l]检查。还是您希望边缘环绕? -
哦,哇,回想起来总是那么明显,谢谢。我不希望边缘包裹。
标签: javascript arrays for-loop multidimensional-array