多维数组引用问题

Der*_*會功夫 1 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);
Run Code Online (Sandbox Code Playgroud)

这是结果

在此输入图像描述

如您所见,第1和第2项都将其第一项更改为10.我怎么解决这个问题?我已经克隆了数组.

Mic*_*ics 5

Array.prototype.slice()执行浅复制,因此不会复制嵌套数组.您应该使用深克隆方法,像这样.