当前位置:网站首页>JS深拷贝

JS深拷贝

2020-11-09 19:11:30 夜雨入心

无聊写了一个深拷贝方法:

 deepCopy(arg){
          return  _deepCopy(arg);
          function _deepCopy(params){
            let tempResult;
            if(params instanceof Array){
              tempResult=[...params]
              tempResult.map((item,index)=>{
                item = _deepCopy(item,tempResult,index);
              })
            }else if(params  instanceof Object){
              tempResult={...params}
              Object.keys( tempResult).map((key,index)=>{
                tempResult[key]= _deepCopy( tempResult[key], tempResult,key);
              })
            }else{
              let temp=params
              return temp;
            }
            return tempResult
          }
        }
      }

let s = {

    a: {
      b: {
        c: '123',
      },
      d: [{ aa: '11' }, { bb: '22' }, { cc: '33',dd:[1,2,3] }],
    },
  }
  let a=this.deepCopy(s)
  console.log(a==s)
  console.log(a===s)
  console.log(a)
  console.log(s)

``
image.png

版权声明
本文为[夜雨入心]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000037777083