拷贝数据的三种方式

48 阅读1分钟

Object.assign()

// 对象浅拷贝
const obj1 = {a: 1};
const obj2 = {b: 2};
Object.assign({}, obj1, obj2)

扩展运算符(...)

//等同于方法一, 属于对象浅拷贝
const obj1 = {a: 1, b: 2};
// obj2 equal obj1
const obj2 = {...obj1};

//数组拷贝
let arr1 = ['a','b']
let arr2 = ['c','d']
let abc = [...arr1,...arr2]

JSON.parse(JSON.stringify(data))

//此方法为深层拷贝;
function deepCopy (data) {
  return JSON.parse(JSON.stringify(data));
}