巧用JSON.parse与JSON.stringify实现深复制与删除对象属性
- 实现深度克隆
Array的克隆,对比[].concat方法
let aa = [
{
name: 'zgatry'
}
1,
2,
3
];
let bb = [].concat(aa);
let cc = JSON.parse(JSON.stringify(aa));
aa[0].name = 'test';
console.log(bb, cc);
- 删除对象的某个属性
对比delete,网上看到有人说delete方法性能比较差, 还没研究过。
//假设准备删除children字段
let obj = {
name: 'zgatry',
age: 18,
children: [1,2,3,4]
};
obj.children = undefined;
obj = JSON.parse(JSON.stringify(obj));
console.log(obj);
行为影响状态,状态影响视图

浙公网安备 33010602011771号