JS实现深拷贝的几种简单方法示例
更新时间:2023年10月07日 15:20:51 作者:温其如玉_zxh
深拷贝和浅拷贝是在JavaScript中复制对象或数组时经常遇到的概念,下面这篇文章主要给大家介绍了关于JS实现深拷贝的几种简单方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
一、使用 JSON 转换
这是最简单的方法。
JSON.parse(JSON.stringify(obj))
二、使用递归
通过递归的方式深度遍历对象,将每个属性的值进行复制。需要处理被复制对象为值类型的情况以及属性值中包含对象的情况。需要注意的是,为了防止循环引用导致死循环,需要记录已经遍历过的对象。
const deepClone = obj => { if (typeof obj !== 'object' || obj === null) { return obj; } let result = Array.isArray(obj) ? [] : {}; for (let key in obj) { if (obj.hasOwnProperty(key)) { result[key] = deepClone(obj[key]); } } return result; }
三、借助插件
Lodash
Lodash
是一个一致性、模块化、高性能的 JavaScript
实用工具库。
npm i --save lodash
import {cloneDeep} from 'lodash';
const obj1 = {a: {b: 2}}; const obj2 = cloneDeep(obj1);
总结
到此这篇关于JS实现深拷贝的几种简单方法的文章就介绍到这了,更多相关JS实现深拷贝内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
这篇文章主要介绍了情人节单身的我是如何在敲完代码之后收到12束玫瑰的,感兴趣的朋友一起来学习下2015-08-08JavaScript获取css行间样式,内连样式和外链样式的简单方法
下面小编就为大家带来一篇JavaScript获取css行间样式,内连样式和外链样式的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-07-07
最新评论