gpt4 book ai didi

javascript - 用另一个对象替换一个 javascript 对象

转载 作者:可可西里 更新时间:2023-11-01 02:01:26 24 4
gpt4 key购买 nike

在页面加载时,我创建了两个 Javascript 对象,objDemo1objDemo1Backup,其中后者只是第一个的精确副本。

例如

objDemo1 { 
sub_1 = { something: 123, somethingElse: 321 },
sub_2 = { something: 456, somethingElse: 654 }
}

我可以修改 sub_ 中的值以及添加/删除新的 sub_ 但我正在编辑的唯一对象是 objDemo1 .即我从不更改 objDemo1Backup

我有一个重置按钮,单击该按钮会将 objDemo1 重置为页面最初加载时的状态(即 objDemo1 = objDemo1Backup)。这就是我遇到问题的地方..

如何将 objDemo1 设置为 objDemo1Backup

我试过:

objDemo1 = objDemo1Backup;

objDemo1 = null;
var objDemo1 = objDemo1Backup;

...以及类似的变体,但似乎没有任何效果。有什么想法吗?

  • 注意:我可以确认在重置时,objDemo1Backup 与我创建它时完全相同,objDemo1 已更改。
  • 我的代码肯定会触发“重置”功能,我已经尝试了 objDemo1 = objDemo1Backup...我只是想不出替换对象的语法。

最佳答案

我正在使用 angularjs,我花了一些时间来了解如何将一个对象复制到另一个对象。通常,您将通过调用 clone 或此处以 Angular copy 获得对象克隆:

var targetObj = angular.copy(sourceObj);

这为您提供了源对象的新克隆实例(带有新引用)。但是快速查看文档会发现 copy 的第二个参数:

angular.copy(sourceObj, targetObj)

这样您就可以使用源的字段和方法覆盖目标对象并且同时保留目标对象的引用。

关于javascript - 用另一个对象替换一个 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13937578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com