gpt4 book ai didi

javascript - 如何检查键值对(在数组中)是否存在于另一个数组中?

转载 作者:行者123 更新时间:2023-12-04 10:04:10 24 4
gpt4 key购买 nike

我有两个数组,例如:

invoices: [
{id: 90, Client: 'Bob', paid: false, total: 900},
{id: 91, Client: 'Sarah', paid: false, total: 400}
]

和:
result: [{km: 200, hours: 20, Person: 'Sarah'}]
invoices数组是来自 GET 的 JSON 响应,有时会大于 result ,所以我在这种情况下 invoices有 Bob 而它不存在于 result .

我如何获得 id的任何对象 Client不显示为 Personresult ?我试图用双 for 来做到这一点循环,但它并没有完全解决。

最佳答案

通过生成一个键为 Person 的对象来自 result 的值,我们可以使用它来有效过滤 invoices 中的值,然后使用 map 只返回 id过滤结果的值:

const invoices =  [
{id: 90, Client: 'Bob', paid: false, total: 900},
{id: 91, Client: 'Sarah', paid: false, total: 400}
]

const result = [{km: 200, hours: 20, Person: 'Sarah'}]

const resindexes = result.reduce((c, o, i) =>
(c[o.Person] = i, c), {});

ids = invoices.filter(o => resindexes[o.Client] === undefined).map(o => o.id);

console.log(ids);

关于javascript - 如何检查键值对(在数组中)是否存在于另一个数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61669404/

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