拷贝
浅拷贝
1.Object.assign()
const obj = {
user:'yyd',
age:18
}
const new_obj = Object.assign({},obj);
console.log(new_obj );
console.log(new_obj === obj);
2. ...拷贝
const obj = {
user:'yyd',
age:18
}
const new_obj = {...obj};
console.log(new_obj == obj);
深拷贝
1.JSON.parse(JSON.stringify())
const obj = {
user:'yyd',
age:18
}
const new_obj = JSON.parse(JSON.stringify(obj));
console.log(new_obj);
console.log(new_obj === obj);
2.递归遍历浅拷贝
const obj = {
user:'yyd',
age:18
}
function deep_copy(obj){
let result = null;
if(!(obj instanceof Object)){
return obj;
}else{
result = Array.isArray(obj)?[]:{};
}
for(const key in obj){
result[key] = deep_copy(obj[key]);
}
return result;
}
console.log(deep_copy(obj));