首页 > 其他 > 详细

再写一篇递归深拷贝

时间:2020-04-16 16:16:16      阅读:43      评论:0      收藏:0      [点我收藏+]
deepClone(newObj,oldObj){
  for( var k in oldObj){
    var item = oldObj[k];
    //如果是数组
    if(item instanceof Array){
      newObj[k] = [];
      this.deepClone(newObj[k],item)
      // 如果是对象
    }else if(item instanceof Object){
      newObj[k] = {};
      this.deepClone(newObj[k],item)
      // 简单数据类型
    }else{
      newObj[k] = item
    }
  }
}

这里主要是对遍历的对象做个判断,如果是复杂数据类型(要先判断是否是数组,再判断是否是对象,注意顺序不能调换,因为数组也是对象)则使用递归;如果是简单数据类型则直接赋值。

再写一篇递归深拷贝

原文:https://www.cnblogs.com/landofpromise/p/12712939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!