随笔

使用{...obj}对对象进行深拷贝时,obj内部若有引用类型则不会被深拷贝,特殊对象类型(如function...)将丢失。

deepCopy(obj){
  if(typeof(obj)==='object'){
    return obj;
  }
  let newObj=Object.prototype.toString.call(obj)==='[object Array]'?[]:{};
  for(let o in obj){
    newObj=typeof(obj[o])==='object'?deepCopy(obj[o]):obj[o];
  }
  return newObj;
},
 
posted @ 2019-05-24 17:59  易言  阅读(149)  评论(0)    收藏  举报