如何在 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看起来就是错误且昂贵。

立即学习“Java免费学习笔记(深入)”;

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

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

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

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

谢谢!!!

以上就是如何在 Javascript 中深度复制嵌套对象的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2670820.html

(0)
上一篇 2025年3月7日 13:03:19
下一篇 2025年3月7日 13:03:30

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论