gpt4 book ai didi

javascript - 更新两个 JavaScript 对象中匹配的键值

转载 作者:行者123 更新时间:2023-11-28 03:44:55 25 4
gpt4 key购买 nike

我的要求是比较两个对象并将更新的值从第二个对象复制到第一个对象中。例如:

$scope.obj1={"id" : 1, "name" : "java"}
$scope.obj2={"id" : 1, "name" : "java4you", "gender" : "male"}

compare(destination, bj1, obj2);

目标变量输出:

{"id" : 1, "name" : "java4you"}

以上两个对象包含相同的键,但值不同。我必须比较 obj1 和 obj2 并使用匹配的 obj2 值进行更新

最佳答案

您可以创建 obj1 的副本使用Object.assign()在一个新变量中,destination并迭代 obj2 的每个键使用Object.keys()array#forEach并检查 key 是否存在于destination中,如果存在,则更新 destination 中的值来自 obj2 的值

var obj1={"id" : 1, "name" : "java"},
obj2={"id" : 1, "name" : "java4you", "gender" : "male"}

var updateObjectValue = (obj1, obj2) => {
var destination = Object.assign({}, obj1);
Object.keys(obj2).forEach(k => {
if(k in destination) {
destination[k] = obj2[k];
}
});
return destination;
}
console.log(updateObjectValue(obj1, obj2));

关于javascript - 更新两个 JavaScript 对象中匹配的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48585086/

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