js实现数组深拷贝

  • Post author:
  • Post category:其他


// 单层数组深拷贝

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;

},



版权声明:本文为weixin_42413684原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。