【发布时间】:2018-01-29 15:43:25
【问题描述】:
根据 JavaScript 中 Array.prototype.slice() 的文档,slice() 方法将数组的一部分的浅表副本返回到新数组中。据我了解,浅拷贝只会复制数组中的顶级元素,不会复制嵌套元素。但是,当我在浏览器控制台中运行测试时,看起来slice() 方法实际上是在复制嵌套元素(深度复制)。
我在哪里误解了深拷贝的概念?请帮我澄清一下,因为它与我的确切示例有关。
var array = [1,2,[3,4,[5,6]]];
var array2 = array.slice();
【问题讨论】:
-
如果您随后评估
array[2] === array2[2],那么它会告诉您它是浅拷贝还是深拷贝?
标签: javascript arrays deep-copy