// 单层数组深拷贝
concat || ...
// 多层数组深拷贝
deepCopy(obj) {
// 只拷贝对象
if (typeof obj !== "object") return;
// 根据obj的类型判断是新建一个数组还是一个对象
let newObj = obj instanceof Array ? [] : {};
for (let key in obj) {
// 遍历obj,并且判断是obj的属性才拷贝
if (obj.hasOwnProperty(key)) {
// 判断属性值的类型,如果是对象递归调用深拷贝
newObj[key] =
typeof obj[key] === "object" ? this.deepCopy(obj[key]) : obj[key];
}
}
return newObj;
},