当前位置: 首页 > news >正文

JS 深度拷贝封装方法

JS深度拷贝封装方法:


/*** This is just a simple version of deep copy* Has a lot of edge cases bug* If you want to use a perfect deep copy, use lodash's _.cloneDeep* @param {Object} source* @returns {Object}*/
export function deepClone(source) {if (!source && typeof source !== 'object') {throw new Error('error arguments', 'deepClone')}const targetObj = source.constructor === Array ? [] : {}Object.keys(source).forEach(keys => {if (source[keys] && typeof source[keys] === 'object') {targetObj[keys] = deepClone(source[keys])} else {targetObj[keys] = source[keys]}})return targetObj
}

相关文章:

  • VB.net读写S50/F08IC卡,修改卡片密码控制位源码
  • HTML所有功能大汇总
  • curl网络请求命令
  • Altium Designer学习笔记6
  • Hive小文件处理
  • 记一次struct2漏洞获取服务器
  • SystemV
  • Postman接口测试 —— Jenkins实现持续集成构建流程!
  • API之 要求接口上传pdf 以 合同PDF的二进制数据,multpart方式上传
  • MySQL -- DQL
  • 麻雀搜索优化算法MATLAB实现,SSA-BP网络
  • 开发仿抖音APP遇到的问题和解决方案
  • 记华为荣耀手机调试H5
  • 4D毫米波雷达和3D雷达、激光雷达全面对比
  • JVM对象创建与内存分配
  • HTTP中的ETag在移动客户端的应用
  • Javascript设计模式学习之Observer(观察者)模式
  • learning koa2.x
  • PHP的类修饰符与访问修饰符
  • rc-form之最单纯情况
  • Vim 折腾记
  • Vue 2.3、2.4 知识点小结
  • 测试如何在敏捷团队中工作?
  • 从零开始在ubuntu上搭建node开发环境
  • 前端性能优化--懒加载和预加载
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 协程
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​什么是bug?bug的源头在哪里?
  • $.proxy和$.extend
  • (6)STL算法之转换
  • (java)关于Thread的挂起和恢复
  • (poj1.3.2)1791(构造法模拟)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)大道至简,职场上做人做事做管理
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .gitignore
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET NPOI导出Excel详解
  • .NET Reactor简单使用教程
  • .NET 材料检测系统崩溃分析
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 中创建支持集合初始化器的类型
  • .Net6 Api Swagger配置
  • .Net7 环境安装配置
  • .NET连接MongoDB数据库实例教程
  • .NET命名规范和开发约定
  • .NET下的多线程编程—1-线程机制概述
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • .pyc文件是什么?
  • /var/spool/postfix/maildrop 下有大量文件