深拷贝的几种方式

使用JSON方法暴力解决

var obj = {name:‘123‘}

var obj2 = JSON.parse(JSON.springfy())

 

使用解构函数赋值

var obj = {name:‘456789‘};

var obj={...obj};

 

使用对象合并进行

var obj = {name:‘123‘,age:13};

var obj2 = Object.assign({},obj1);

 

利用循环和递归的方法

function deepClone(obj,newObj){

var newObj = new Obj ||{};

for (let key in obj) {

if (typeof obj[key] == ‘object‘) {

newObj[key] = (obj[key].constructor === Array) ? [] : {} deepClone(obj[key], newObj[key]);

} else {

newObj[key] = obj[key]

      }

}

return newObj; 

}

 

深拷贝的几种方式

上一篇:动态规划-数字三角形


下一篇:copy-translator