登录
首页 >  文章 >  前端

如何在 Javascript 中深度复制嵌套对象

来源:dev.to

时间:2024-08-24 23:09:48 335浏览 收藏

有志者,事竟成!如果你在学习文章,那么本文《如何在 Javascript 中深度复制嵌套对象》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

如何在 Javascript 中深度复制嵌套对象

如何在Javascript中深度复制嵌套对象

所以你有一个嵌套对象,假设你需要将其复制到与原始变量完全不同的另一个变量。

我们今天过得怎么样?
原物:
const obj1 = {name: 'John Smith', 地址: {mailing: {line1: '地址行 1', line2: '地址行 2', city:'纽约'}}};

复制对象:
方法一:
使用扩展运算符
const obj2 = {...obj1};
方法二:
有些人甚至更喜欢昂贵的操作:
const obj2 = JSON.parse(JSON.stringify(obj1));

方法 1 的问题是扩展运算符在没有引用的情况下复制对象,但它不会对嵌套对象执行此操作,例如为 obj1 的地址键。所以改变 obj2.address.line1 也会改变 obj1.address.line1。

而方法2看起来就是错误且昂贵。

那么我们该怎么做呢?
答案:
const obj2 = StructuredClone(obj1);

现在你已经创建了 obj1 的深层副本,并且 obj1 和 obj2 是完全不同的对象。

注意: StructuredClone() 方法是新推出的方法,可能无法在 2022 年 3 月之前的浏览器中运行。

这是我的第一篇文章。请发表评论并联系,让我知道我可以在下一篇文章中做得更好。

谢谢!!!

今天关于《如何在 Javascript 中深度复制嵌套对象》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>