利用递归实现复杂数据的深拷贝

 

function deepCopy(data){
  const result=Array.isArray(data)?[]:(typeof data==='function'?data.bind():{});
  for(let i in data){
    if(data.hasOwnProperty){
      if(typeof data[i]==='object'){
        result[i]=deepCopy(data[i]);
      }else if(typeof data[i]==='function'){
        result[i]=data[i].bind(result);
      }else{
        result[i]=data[i];
      }
    }
  }
  return result;
}

posted @ 2023-06-16 19:45  看看罢懂  阅读(8)  评论(0)    收藏  举报