function isObject(obj) {
  return typeof obj === 'object' && obj != null;
}
const deepClone =(source, hash = new WeakMap())=>{
  if(!isObject(source)) return source;
  if(hash.has(source)) return has.get(source)
  const target = Array.isArray(source) ? [] : {};
  hash.set(source, target);
  for( key in source){
    if(Object.prototype.hasOwnProperty.call(source, key)){
    target[key] = deepClone(source[key], hash)
  }
}
return target;
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
猜你喜欢
  • 2021-10-31
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2021-11-12
相关资源
相似解决方案