JS对象的深拷贝

时间:2022-12-05 19:53:33

在工作中我们会遇到对对象的复制,修改对象时,又不影响原来对象的数据;

数组与对象的深拷贝方法:

1.数组 借助数组的方法 slice();concat();

eg: var arr=[124,3,5];

var arr1=arr.slice(0);

// var arr1=arr.concat();

arr1[0]=2;

//修改arr1数组并不会影响arr数组的值;两者互相独立的。

console.log(arr1);//[2,3,5];

console.log(arr);//[124,3,5];

 2.对象 JSON.parse(); JSON.stringity(); 此方法一般在数据序列化中会运用到;

var obj1={

name:1,

age:12

}

var obj2=JSON.parse(JSON.stringity(obj1));

obj2.name=3;

console.log(obj2);//{name:3,age:12}

console.log(obj1);//{name:1,age:12}

obj2和obj1也是互相独立的