浅谈Object.assign深拷贝和浅拷贝 循环添加数据


一.浅拷贝


const obj1 = { name: 'tom' };
const obj2 = { age: 10 };
const obj3 = Object.assign(obj1, obj2);
console.log(obj3); 
console.log(obj1); 合并对象,得到一个合并obj1obj2的 旧的对象  obj1  浅拷贝


二.深拷贝

let obj = {
  name:'tom',
  age:10,
  friend:{
    name:'jack'
  }
};
let copy = JSON.parse(JSON.stringify(obj));
obj.name = 'elric';
console.log(obj);// 原对象没有改变
console.log(copy);

实例

let infor={ name='张三',
statu:1,age='10',sex='0'}
list.forEach((item,index)=>{
let j=Object.assign(infor,item);//infor 放在第一个位置 infor 原来对象会改变
  let i=Object.assign(item,infor);//infor 放在第二个位置 infor
原来对象不会改变
 console.log(i,j)

})
 
 

posted @ 2020-09-08 10:55  爬坑之路任重而道远  阅读(396)  评论(0)    收藏  举报