Array.fill() 复制引用,而不是值
尝试使用 Array.fill() 初始化二维矩阵时,您可能会遇到内部数组共享引用的问题,从而导致意外结果。
要解决此问题,您可以使用Array.from():
let m = Array.from({length: 6}, () => Array(12).fill(0)); m[0][0] = 1; console.log(m[0][0]); // Outputs 1, as expected console.log(m[1][0]); // Outputs 0, as intended
这种方法创建按值复制内部数组,确保对一个数组的修改不会影响其他数组。每个内部数组都是一个不同的对象,提供所需的独立性。
以上是为什么 Array.fill() 在二维数组中创建共享引用?的详细内容。更多信息请关注PHP中文网其他相关文章!