js 深度复制deepClone


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;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM