javascript - 多维数组引用问题

标签 javascript arrays reference

所以目前我这里有一个数组,我想对最后一项进行一些修改并将其推回。我这里有这段代码:(示例已简化)

var array = [
                 [ [0,1,2], [3,4,5] ]
            ];

//other stuff...

var add = array[0].slice(); //to clone the array (but not working as expected)
add[0][0] = 10;
array.push(add);

console.log(array);

这是结果

‍‍‍‍‍enter image description here

如您所见,第 1 项和第 2 项的第一项都更改为 10。我怎么解决这个问题?我已经克隆了阵列。

最佳答案

Array.prototype.slice()进行浅拷贝,因此不会复制嵌套数组。您应该使用深度克隆方法,如 this .

关于javascript - 多维数组引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17737814/

相关文章:

javascript - 是否有一个 bool 函数来知道选择多个是否选择了多个选项?

python - 数组 - float64 到数组 - ndarray

java - int.class 是什么意思

swift - Inout in swift 和引用类型

javascript - Angular.copy() 不深度复制引用数组

javascript - 在新包含的 html 片段上应用 jquery 和 js 函数

javascript - 代码在控制台/便签本中有效,但在 Greasemonkey 脚本中无效?

javascript - 每三次迭代将日期增加 1

java - checkin 函数时数组大小错误

javascript - 使用javascript对数组进行数字排序