【发布时间】:2016-07-13 19:09:37
【问题描述】:
我知道我们可以使用 Array.prototype.slice() 对数组执行深拷贝。
var a = [1,2];
var b = a.slice();
b.push(3);
console.log(a);
结果:
[1,2]
但就我而言,我使用它对对象数组执行深度复制。结果出乎我的意料。
var a = [{},{"chosen": true}];
var b = a.slice();
b[0]["propa"] = 1;
console.log(a);
结果:
[{"propa":1},{"chosen":true}]
有人向我展示了如何解决这种情况。谢谢。
【问题讨论】:
标签: javascript deep-copy