递归函数
// 深拷贝
const deepCopy = data => {
// 如果不是引用数据类型 直接返回值
if (!(typeof data === 'object')) {
return data;
}
// 如果是的话
if (Array.isArray(data)) {
// 是数组
let newArr = [];
data.forEach(item => {
// 递归
let newData = deepCopy(item);
newArr.push(newData);
})
return newArr;
} else {
// 是对象
let newData = {};
for (let x in data) {
// 递归
let newVal = deepCopy(data[x])
newData[x] = newVal;
}
return newData;
}
}
static deepCopy = data => JSON.parse(JSON.stringify(data))