gpt4 book ai didi

javascript - 如何检查数组对象的属性是否与另一个对象数组中的值之一匹配

转载 作者:行者123 更新时间:2023-12-01 23:37:46 24 4
gpt4 key购买 nike

我知道 header 太复杂了,但现在就是这样。让我为您说得更清楚。

有一个像这样的对象

const users= [
{
id:"1",
name:"John",
mail:"aaa@gmail.com",
},
{
id:"2",
name:"Joe",
mail:"bbb@gmail.com",
},
]

然后就是

const attendingUsers = [
{
id:"1",
name:"John",
mail:"aaa@gmail.com",
.....
},
{
id:"2",
name:"Joe",
mail:"bbb@gmail.com",
.....
},}

这两个数组都有不同的属性,我只想得到对我来说很重要的那些。我需要的是查看 users 数组并找到与 attendingUsers 具有相同 ID 的那些。

我想出了 users.filter(user => user.id == attendingUsers.map(attendingUser => attendingUser.id)); 但这只是返回空数组。知道解决此类问题的最佳方法是什么吗?

最佳答案

首先,您必须确保 ID 类型是否正确。 Users 的 ID 为 Number 类型,而 attendingUsers 的 ID 为 String 类型。

假设它们在下面的代码中都是相同的类型(我将使用字符串)。

您可以将 attendingUsers 数组转换为字符串数组:

const attendingUsersIds = attendingUsers.map(attendingUser => attendingUser.id)

然后将 id 与:

const matchedUsers = users.filter(user => attendingUsersIds.includes(user.id))

如果它们不是同一类型,您可以使用 user.id.toString() 将 Number 转换为 String 或 parseInt(attendingUser.id) 将字符串转换为数字。

关于javascript - 如何检查数组对象的属性是否与另一个对象数组中的值之一匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65343433/

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