具体方法
- Object.assign()
// Array
let arr = [1, 3, {
username: 'kobe'
}];
let arr2=arr.concat();
arr2[2].username = 'wade';
- Array.prototype.concat()
// object 当object只有一层的时候,是深拷贝
let obj = {
username: 'kobe'
};
let obj2 = Object.assign({},obj);
obj2.username = 'wade';
- Array.prototype.slice()
// slice()
let arr = [1, 3, {
username: ' kobe'
}];
let arr3 = arr.slice();
arr3[2].username = 'wade'
补充说明:
- Array的slice和concat方法不修改原数组,只会返回一个浅复制了原数组中的元素的一个新数组。
参考链接:
https://blog.csdn.net/xiasohuai/article/details/81086480