gpt4 book ai didi

javascript - 如何在javascript中将两个不同的对象数组组合成一个新的对象数组?

转载 作者:行者123 更新时间:2023-11-29 16:34:20 24 4
gpt4 key购买 nike

我有两个具有相同 news_ids 但属性不同的对象数组,我只是想知道如何组合它们并获取新的对象数组?

例如:

let arr1 = [{
news_id: 1,
title: "title1"
},
{
news_id: 2,
title: "title2"
},
{
news_id: 3,
title: "title3"
},
{
news_id: 4,
title: "title4"
},
]

let arr2 = [{
news_id: 3,
count: 3
},
{
news_id: 4,
count: 4
}
]

我想得到:

[
{news_id: 1, title: "title1", count: 0},
{news_id: 2, title: "title2", count: 0},
{news_id: 3, title: "title3", count: 3},
{news_id: 4, title: "title4", count: 4}
]

最佳答案

您可以使用 forEachfilter 来做到这一点,如下所示:

arr1.forEach(i => i.count = (arr2.find(j => j.news_id == i.news_id) || { count: 0 }).count)

试试下面的方法。

let arr1 = [{
news_id: 1,
title: "title1"
},
{
news_id: 2,
title: "title2"
},
{
news_id: 3,
title: "title3"
},
{
news_id: 4,
title: "title4"
},
]

let arr2 = [{
news_id: 3,
count: 3
},
{
news_id: 4,
count: 4
}
]

arr1.forEach(i => i.count = (arr2.find(j => j.news_id == i.news_id) || { count: 0 }).count);
console.log(arr1);

关于javascript - 如何在javascript中将两个不同的对象数组组合成一个新的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52833209/

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