美文网首页
手动实现深拷贝

手动实现深拷贝

作者: Amy_yqh | 来源:发表于2019-08-17 14:13 被阅读0次

    手动实现深拷贝

    function deepCopy(oldObj,newObj){
      var newObj=newObj||{};
      for(var key in oldObj){
          debugger
        if(typeof oldObj[key]==='object'){
          if(oldObj[key].constructor  === Array){
            //这是数组
            newObj[key]=[];
          }else{
            //这是对象
            newObj[key]={};
          }
          deepCopy(oldObj[key],newObj[key]);
           
        }else{
          newObj[key]=oldObj[key];
        }
      }
      return newObj;
    }
    let obj = {name:'乔巴',type:{name:'驯鹿'},age:'18'}
    let deepObje = deepCopy(obj,{})
    

    相关文章

      网友评论

          本文标题:手动实现深拷贝

          本文链接:https://www.haomeiwen.com/subject/cyahsctx.html