gpt4 book ai didi

javascript - 如何比较两个对象数组并纠正相同的键值?

转载 作者:行者123 更新时间:2023-12-02 22:00:40 27 4
gpt4 key购买 nike

我已经搜索过,但没有找到我需要的技巧。

我正在尝试比较具有相同键的 2 个对象数组,如果 arr2 中的值不同,则更新 arr1。 Here是一个可以玩的代码笔。

let arr1 = [{val1: "dog", val2: "friendly"},{val1: "cat", val2: "fluffy"}]

let arr2 = [{val1: "cat", val2: "evil"},{val1: "mouse", val2: "tiny"},{val1: "hippo", val2: "big"}]

函数的预期结果应该是纠正 arr1 中包括 val1:"cat" 的对象:

 {val1: "cat", val2: "fluffy"} ----->  {val1: "cat", val2: "evil"}

更新后的 arr1 应该像这样返回:

{val1: "dog", val2: "friendly"}, { val1: "cat", val2: "evil"}

诀窍是,代码也应该双向工作。例如,如果 arr1 中有 {val1: "big", val2: "puma"},则通过替换 "puma"它将更改为 {val1: "big", val2: "hippo"},因为值 "big"链接到 arr2 中的“hippo”。

关于如何实现这一目标有什么想法吗?谢谢!

最佳答案

尝试下面的函数 - 这将满足 arr1 的两种情况

function validateArray() {
arr2.forEach(function(arr2Element) {
arr1.forEach(function(arr1Element) {
if (arr2Element.val1 === arr1Element.val1) {
arr1Element.val2 = arr2Element.val2;
} else if (arr2Element.val2 === arr1Element.val1) {
arr1Element.val2 = arr2Element.val1;
}
});
});
console.log(arr1);
}

关于javascript - 如何比较两个对象数组并纠正相同的键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59888596/

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