gpt4 book ai didi

JavaScript:如何在不替换对象的情况下高效地替换对象的所有值

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:29 24 4
gpt4 key购买 nike

我将许多对象收集在一个数组中。由于各种原因,相同的对象也附加到某些 DOM 元素。有时我需要更新其中一个对象。最简单的方法是在数组中找到与我通过 AJAX 获得新值的对象具有相同 id 属性的对象,然后替换它。但这当然会创建一个新对象,并且附加到 DOM 元素的对象不再相同。这意味着如果我比较它们,它们将不再是同一个对象。

如何在不替换实际对象的情况下用新对象中的值最简单地替换正确的对象? (以便引用保持不变)

我不想要的例子

var values = [{id:1, name:'Bob'}, {id:2, name:'Alice'}, {id:3, name:'Charlie'}];
var bar = values[2];
console.info(bar === values[0]); // True

var newValue = {id:1, name:'Dave'};
// Somehow find the index of the object with id==3
values[2] = newValue;
console.info(bar === values[2]); // False, should still be true

我能想到的唯一方法是使用 foreach 或其他方法遍历对象,但希望有一些内置于 javascript 或 jQuery 或允许更高效或至少更清洁代码的东西。

最佳答案

您可以迭代新值并将它们设置在旧值中:

for (i in newValue) {
oldValue[i] = newValue[i];
}

关于JavaScript:如何在不替换对象的情况下高效地替换对象的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201562/

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