其他分享
首页 > 其他分享> > 再写一篇递归深拷贝

再写一篇递归深拷贝

作者:互联网

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
    }
  }
}

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

标签:一篇,递归,oldObj,数据类型,newObj,deepClone,item,数组,拷贝
来源: https://www.cnblogs.com/landofpromise/p/12712939.html