对象深拷贝

JS三种对象深拷贝的方法

1.JSON.parse(JSON.stringify(obj));

局限性:当值为undefined、function、symbol 会在转换过程中被忽略。。。

2.原生js实现:

function deepCopy(obj) {

      varresult = Array.isArray(obj) ? [] : {};

      for(varkeyin obj) {

        if (obj.hasOwnProperty(key)) {

          if(typeofobj[key] ==='object' && obj[key]!==null) {

            result[key] = deepCopy(obj[key]);  //递归复制

          } else {

            result[key] = obj[key];

          }

        }

      }

      return result;

    }

3.JQ方法:$.extend( true, target, ...sources);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容