JSON.parse( JSON.stringify( ))
- JSON.parse( ) 用于将 JSON 格式的字符串 转为 对象或数组
- JSON.stringify( ) 用于将 对象或数组 转为 JSON 格式的字符串
- 缺点: 如果拷贝的内容含有 symbol ,map 等类型的时候,会自动忽略掉这些内容
let arr = [1,2,3,4,5];
let arr2 = JSON.parse(JSON.stringify(arr));
Object.assign( )
- 参数1,为目标对象
- 参数2…,后面的所有参数都为源对象
- 返回值,为目标对象的浅拷贝,即:和目标对象指向同一个地址
- 作用:用于合并对象,新值会覆盖旧值
let obj = {
name:"zs",
age:10
};
let obj2 = {};
Object.assign(obj2,obj);
console.log(obj2);
展开运算符
- 缺点:只能对最外层进行深拷贝,如果有多层,需要多次使用
let arr = [1,2,3,4,5];
let arr2 = [...arr];