美文网首页
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