【发布时间】:2025-12-17 11:45:01
【问题描述】:
给定一个 3x3 矩阵,我想将第一行第三列中的元素设置为 true。
我希望m[0][2] = true 会这样做,但事实并非如此。它将整列设置为 true!
我创建数组并设置值的代码如下。是什么导致了这种行为?
const size = 3;
const m = Array(size).fill(Array(size).fill(false))
console.log(m);
/* [[false, false, false],
[false, false, false],
[false, false, false]]
*/
m[0][2] = true;
console.log(m);
/*
[[false, false, true],
[false, false, true],
[false, false, true]]
*/
【问题讨论】:
-
你描述的行为已经告诉你他们是同一个引用。该特定的欺骗建议只是 Array.fill 围绕此行为的众多标志之一 - *.com/q/27613126/3001761、*.com/q/60432172/3001761、*.com/q/57514341/3001761、...
标签: javascript matrix multidimensional-array