JS数组解构是浅复制

项目中有一个场景是需要复制一个数组,为了不影响原数组应该选择深复制。所以concat,slice都不能用,只能用JSON.parse(JSON.stringify(globalData.shop.cart))来转换了。
其实也想到了数组的解构,用下面的代码测试了一下,发现是浅复制…

var a = [{
     id: 1},{
     id: 2}];
var b = [...a];
b[0].id = -1;
console.log(a,b)

输出
JS数组解构是浅复制_第1张图片

你可能感兴趣的:(前端杂事)