Javascript中的嵌套数组有奇怪的,未定义的行为

时间:2017-10-15 14:42:12

标签: javascript arrays matrix nested

当我使用以下方法在Javascript中创建嵌套数组时:

let arr = Array(5).fill(Array(5).fill("O"))

它正确地显示了" O"

的5x5数组

然而,当我这样做时:

arr[1][0] = "S"

显示结果:

["S", "O", "O", "O", "O"],
["S", "O", "O", "O", "O"],
["S", "O", "O", "O", "O"],
["S", "O", "O", "O", "O"],
["S", "O", "O", "O", "O"]

而不是仅覆盖单个O.

1 个答案:

答案 0 :(得分:-2)

Array.fill返回数组,因此每个"行"上存在相同的数组引用。