【发布时间】:2022-01-18 01:32:28
【问题描述】:
我有一个类似这样的列表
let pixels = [
[0,0,0,0]
[0,0,0,0]
[0,0,0,0]
]
我想遍历这个列表并为每个项目创建一个相邻项目的列表。在此示例中,我希望像素 [0] [0] 的输出是:[未定义,未定义,未定义,未定义,0,未定义,0, 0]。但是当我运行我的代码时,我得到了一个错误
代码无法读取像素[-1][-1],我只想让它读取为未定义,而不是让整个程序崩溃。
let pixels = [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
function adjacent(i1, i2) {
const yep = [pixels[i1 - 1][i2 - 1], pixels[i1 - 1][i2], pixels[i1 - 1][i2 + 1], pixels[i1][i2 - 1], pixels[i1][i2 + 1], pixels[i1 + 1][i2 - 1], pixels[i1 + 1][i2], pixels[i1 + 1][i2 + 1]]
return yep
}
console.log(adjacent(1,4))
console.log(adjacent(-1,-1))
【问题讨论】:
-
你遇到了什么错误?
-
您无法访问
undefined的[-1]属性。 -
如果
i1小于等于1,下面的例子会抛出错误:pixels[i1 - 1][anything]。尝试一个条件来避免此类问题。
标签: javascript arrays list