js深拷贝

js深拷贝

在JavaScript中,有多种方法可以实现对象的深拷贝,下面介绍几种常用的方式:

  1. 手动遍历对象进行复制

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function deepCopy(obj) {
      if (typeof obj !== 'object' || obj === null) {
        return obj;
      }
     
      let newObj = Array.isArray(obj) ? [] : {};
     
      for (let key in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, key)) {
          newObj[key] = deepCopy(obj[key]);
        }
      }
     
      return newObj;
    }

      

  2. 使用JSON.stringify和JSON.parse进行深拷贝     注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用

    1
    2
    3
    function deepCopy(obj) {
      return JSON.parse(JSON.stringify(obj));
    }

      

  3. 注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用

    1
    2
    3
    4
    const _ = require('lodash');
     
    let obj = { a: 1, b: { c: 2 } };
    let newObj = _.cloneDeep(obj);

      

   以上几种方式都可以实现对象的深拷贝,选择哪种方式取决于实际业务需求和数据结构。

相关qq学习群:910316886

posted @   web与webGL  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示