假设 a{ c:1,d:1}
let b =a;
delete b[‘c’];
console.log(a) 输出结果为:{d:1}
console.log(b) 输出结果为:{d:1}
我们用等于号直接赋值一个新对象的时候,并不是拷贝了一个新对象而只是把原对象的引用地址赋值给新对象,所以我们再修改新对象的时候会影响原对象。
解决方法:
let b=JSON.stringify(a);
b =JSON.parse(b);
delete b[‘c’];
console.log(a) 输出结果为:{c:1,d:1}
console.log(b) 输出结果为:{d:1}
对象赋值,删除对象某个属性,原对象也会被删除
最新推荐文章于 2023-06-19 11:35:59 发布