gpt4 book ai didi

javascript - 如何通过数组键检查对象键是否在数组过滤器中?

转载 作者:搜寻专家 更新时间:2023-10-30 22:04:40 26 4
gpt4 key购买 nike

我正在使用 Angular 2 Ionic 应用程序 -

有没有一种方法可以在我的 personArr 中按年龄过滤所有人,然后查找我的 personObj 中的任何键是否与 personArr 名称匹配并返回一个 bool 值?

我有一个示例数组,如:

personsArr = [{
"name": "Ram",
"email": "ram@gmail.com",
"age": 23
},
{
"name": "peter",
"email": "shyam23@gmail.com",
"age": 23
},
{
"name": "John",
"email": "john@gmail.com",
"age": 33
},
{
"name": "Bob",
"email": "bob32@gmail.com",
"age": 41
}
]

和这样的对象

personObj = {
"peter": "helper",
"Ram": "helper",
"Bob": "helper"
}

如何按年龄过滤 personsArr,然后检查 personObj 中是否有任何键与人名匹配?

很确定我可以用一个循环来做到这一点,但是有更好的方法吗?

感谢任何帮助或建议。

最佳答案

你可以试试这个,用过滤器和一些。您按条件过滤,然后检查对象的匹配项。希望这会有所帮助。

const personsArr = [{
"name": "Ram",
"email": "ram@gmail.com",
"age": 23
}, {
"name": "peter",
"email": "shyam23@gmail.com",
"age": 23
}, {
"name": "John",
"email": "john@gmail.com",
"age": 33
}, {
"name": "Bob",
"email": "bob32@gmail.com",
"age": 41
}];

const personObj = { "Ram": "helper", "Bob": "helper" };

const personObj2 = { "Ram2": "helper", "Bob2": "helper" };

const checkArr = (age, arr, obj) => arr.filter((f) => f.age > age).some((d) => obj[d.name]);

console.log('Should be true');
console.log(checkArr(30, personsArr, personObj));
console.log('Should be false');
console.log(checkArr(30, personsArr, personObj2));

关于javascript - 如何通过数组键检查对象键是否在数组过滤器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53334002/

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