深度克隆(方法1)
缺点:函数,Regexp等特殊函数无法转换
let newObj = JSON.parse(JSON.stringify(oldObj));
深度克隆(方法2)
说明:递归克隆
function cloneData(data){
if(!(data && data instanceof Object)) return {};
let arr = data instanceof Array ? [] : {};
for (const key in data) {
if (data.hasOwnProperty(key)) {
let item = data[key];
if(item instanceof Object){
arr[key] = cloneData(item);
}else{
arr[key] = data[key];
}
}
}
return arr;
}