美文网首页
js深拷贝

js深拷贝

作者: Delevent | 来源:发表于2022-04-25 17:26 被阅读0次
  1. 只能实现Object和Array的深拷贝
  2. 函数、Map、Set等类型没有实现
function deepClone(obj, tar) {
  tar = tar ? tar : {}
  for(let key in obj) {
    if(obj.hasOwnProperty(key)) {
      if(typeof obj[key] === 'object') {
        tar[key] = Object.prototype.toString.call(obj[key]) === '[object Object]' ? {} : []
        deepClone(obj[key], tar[key]); // 递归
      }else {
        tar[key] = obj[key]
      }
    }
  }
  return tar;
}

相关文章

网友评论

      本文标题:js深拷贝

      本文链接:https://www.haomeiwen.com/subject/bmtqyrtx.html