深拷贝和浅拷贝
深拷贝
JSON.parse(JSON.stringfy(data))此方式对象的原型没办法拷贝。需要使用递归来实现功能。
function deepClone(obj) { let objClone = Array.isArray(obj) ? [] : {} if( obj && typeof obj === 'object' ) { for( let key in obj ) { if(obj.hasOwnProperty(key)){ if( obj[key] && typeof obj[key] === 'object') { objClone[key] = deepClone(obj[key]) } else{ objClone[key] = obj[key] } } } } return objClone; }
常见浅拷贝:
1. Object.assgin()
2. ... (扩展运算符
3. Array.prototype.concat
4. Array.prototype.slice

浙公网安备 33010602011771号