js深拷贝

export const copyObj = (obj = {}) => {

//变量先置空

  let newobj =null;

  //判断是否需要继续进行递归

  if (typeof (obj) =='object' && obj !==null) {

newobj = objinstanceof Array ? [] : {};

    //进行下一层递归克隆

    for (var iin obj) {

newobj[i] =copyObj(obj[i])

}

//如果不是对象直接赋值

  }else newobj = obj;

  return newobj;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最简单的深拷贝 JSON.parse(JSON.stringify) 第三方依赖 https://www.npmj...
    云高风轻阅读 643评论 0 2
  • JS深拷贝, 即传值拷贝, 需要新建一处内存,实现拷贝,具体实现如下: //ES5深拷贝 (1)循环递归: fun...
    blueskirt阅读 860评论 0 1
  • 1:jq使用$.extend({},obj) 2:Object.assign({},obj) 这两种比较基础,估计...
    领带衬有黄金阅读 184评论 0 0
  • 项目中会遇到的体现。对一个table进行操作后,浅拷贝引用的form一起被改变。深拷贝和浅拷贝简单解释浅拷贝和深拷...
    aatter阅读 378评论 0 0
  • 浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象...
    一只章鱼哥阅读 226评论 0 1