数组深拷贝

195 阅读1分钟

偶然需要用到数组的深拷贝,汇总一下方法

  • 进行一层的深拷贝,方法很多,slice() concat() 之类的
  • 多层次深拷贝,递归循环内 json.parse(),json.stringify(),Object.assign() 都可以,这里放一个自己的方法
    deepCopy(data) {
      let value = data.constructor === Array ? [] : {};
      for (let key in data) {
        value[key] =
          typeof data[key] === "object" ? this.deepCopy(data[key]) : data[key];
      }
      return value;
    }