当前位置:网站首页>JS深复制对象方法(深拷贝)
JS深复制对象方法(深拷贝)
2022-08-04 05:26:00 【qq_26695613】
前言:在日常开发中需要复制一条数据。此时如果用变量等号赋值或者object.assign();方法,然后操作改变新赋值对象的值会影响原对象的值。此时深拷贝对象就应用而生。
//深复制对象方法
export function deepCopy(obj) {
var result = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object' && obj[key]!==null) {
result[key] = deepCopy(obj[key]); //递归复制
} else {
result[key] = obj[key];
}
}
}
return result;
}
边栏推荐
猜你喜欢

Canal mysql data synchronization

利用Jenkins实现Unity自动化构建

TensorRT例程解读之语义分割demo

实际开发中,如何实现复选框的全选和不选

EntityComponentSystemSamples学习笔记

7.16 Day22---MYSQL (Dao mode encapsulates JDBC)

Programming hodgepodge (3)

实际开发中左菜单自定义图标点击切换

《看见新力量》第四期免费下载!走进十五位科技创业者的精彩故事

Cannot read properties of null (reading 'insertBefore')
随机推荐
7.18 Day23 - the markup language
Unity开发类似Profile那样的数据分析工具
多个gcc/glibc版本的共存及指定gcc版本的编译
php将多维数据保存进json文件
梳理CamStyle、PTGAN、SPGAN、StarGAN
LCP 17. Quick Calculation Robot
OpenRefine中的正则表达式
JS基础--强制类型转换(易错点,自用)
代码重构:面向单元测试
EventBus源码分析
lambda函数用法总结
Can 't connect to MySQL server on' localhost3306 '(10061) simple solutions
大龄程序员的心理建设
MediaCodec支持的类型
7.13 Day20----MYSQL
【问题解决】同一机器上Flask部署TensorRT报错记录
PHP解决字符乱码问题(多种编码转换)
4.3 Annotation-based declarative transactions and XML-based declarative transactions
MySql数据恢复方法个人总结
ORACLE LINUX 6.5 安装重启后Kernel panic - not syncing : Fatal exception