码迷,mamicode.com
首页 > 其他好文 > 详细

浅拷贝、深拷贝

时间:2019-12-11 21:19:37      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:递归   cti   浅拷贝   else   属性   fun   func   sign   turn   

//================================浅拷贝

//ES6属性的简洁表达式

var obj1 = { ...obj };

//ES6  Object.assign()

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

//for in

for( let k in obj){
  obj3[k] = obj[k];
 }

//================================深拷贝

//JSON.parse(JSON.stringify())

var obj4 = JSON.parse(JSON.stringify(obj));

// 递归

function fun(obj){
var obj1 = {};
for(let k in obj){
if(typeof(obj[k]) === "object"){
obj1[k] = fun(obj[k]);
}else{
obj1[k] = obj[k];
}
}
return obj1;
}
var obj5 = fun(obj);
obj5.a = 123;
obj5.c.aa = 456;
console.log(obj5,obj);

浅拷贝、深拷贝

标签:递归   cti   浅拷贝   else   属性   fun   func   sign   turn   

原文地址:https://www.cnblogs.com/zqxi/p/12024931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!