javascript - 根据属性值过滤嵌套的对象数组
问题描述
嗨,我是 JavaScript 新手,我有嵌套的对象数组,我的目标是过滤掉角色数组由值组成的对象,例如“ _admin”' '可以是任何东西。我的数据看起来像这样
[
{
name:'tom',
process:'flipkart',
master:'pharma',
profiles: [
{
level:'begginer',
language:'hindi',
role:['flp_admin','flp_teacher']
}
]
},
{
name:'jeo',
process:'amazon',
master:'science',
profiles: [
{
level:'begginer',
language:'english',
role:['amz_admin']
}
]
},
{
name:'jerry',
process:'email',
master:'it',
profiles: [
{
level:'begginer',
language:'urdu',
role:['eml_teacher']
}
]
}
]
谁能告诉我如何过滤对象
解决方案
const data = [
{
name: "tom",
process: "flipkart",
master: "pharma",
profiles: [
{
level: "begginer",
language: "hindi",
role: ["flp_admin", "flp_teacher"]
}
]
},
{
name: "jeo",
process: "amazon",
master: "science",
profiles: [
{
level: "begginer",
language: "english",
role: ["amz_admin"]
}
]
},
{
name: "jerry",
process: "email",
master: "it",
profiles: [
{
level: "begginer",
language: "urdu",
role: ["eml_teacher"]
}
]
}
];
const filterData = data.filter(({ profiles }) => {
return profiles.filter(({ role }) => {
return role.some(str => str.includes('_admin'))
}).length
})
console.log(filterData)
推荐阅读
- django - 如何在模板上返回并显示django中的用户名和组
- python - 如何修复“模块”对象不可调用
- azure - 使用 powershell 如何通过运行 ID 在 Azure 数据工厂中重新运行失败的管道?
- windows - DeviceIoControl 处理重叠和非重叠句柄的能力?
- scala - 为什么输出显示不正确?
- sql - 使用 SIGN 函数,但无法转换为负数
- mysql - 如何根据最小日期和其他一些条件过滤记录,其中每个事务在 SQL 中可以有多个日期?
- android - 我可以用 React Native 上新制作的应用程序更新我现有的 Android 和 iOS 应用程序吗?
- c - 最后在双向链表中插入节点
- nginx - server_name 正则表达式在 nix-shell 中无法按预期工作