gpt4 book ai didi

javascript - jquery深度替换

转载 作者:行者123 更新时间:2023-11-30 05:58:19 24 4
gpt4 key购买 nike

这是我正在尝试做的事情的一个过于简单化的版本。

var usersChoice;
var object1 = {name: 'fu', id:'123', infoArray: [1,2,3,4,5]};
var object2 = {name: 'bar', id:'456', infoArray: [9,8]};

jQuery.extend(true, usersChoice, object1);

如果我想改变主意

jQuery.extend(true, usersChoice, object2);

结果:

usersChoice = {name: 'bar', id:'456', infoArray: [9,8,***3,4,5***]};

我想要的是将旧对象完全替换为新对象。即使只是一个深度删除功能,我也可以在扩展之前调用,例如...

userChoice.nukeItFromOrbit();

郑重声明,我尝试过仅 userChoice = new object 或不复制但仅指向原始对象。这两种解决方案都有一个恼人的趋势,即在沿线的某个点超出范围。 (其中一些对象作为“this”传递,我怀疑是罪魁祸首)

那么如何在不重新发明深度复制轮的情况下做到这一点呢?到处寻找,我发现的只是重新发明轮子,或者被告知他们没有理由让我不得不做我正在做的事情。 =/

最佳答案

嗯,我希望我没有遗漏任何东西(如果有请给我留言),但为什么不扩展一个空对象

usersChoice = jQuery.extend(true, {}, object2);

关于javascript - jquery深度替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439957/

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