javascript - Javascript 或 lodash:过滤具有嵌套数组值的对象数组
问题描述
我有一组用户如下(我已经缩短了它):
[
{
"displayName": "Alaotra",
"districts": [
{
"regions_id_region": "11",
"id_district": "102"
},
{
"regions_id_region": "11",
"id_district": "101",
}
]
},
{
"displayName": "Alexandre",
"districts": [
{
"regions_id_region": "42",
"id_district": "411",
},
{
"id_district": "409",
"regions_id_region": "42"
}
]
}
]
每个用户都有一个区域数组。例如,我想获得一个过滤后的用户数组,其中包含“regions_id_region”=“11”的地区。Lodash或Vanilla就可以了。我花了一整天的时间试图实现它,但没有任何成功。欢迎任何帮助。谢谢你。
解决方案
以下是如何使用过滤器:
const users = [{
"displayName": "Alaotra",
"districts": [{
"regions_id_region": "11",
"id_district": "102"
},
{
"regions_id_region": "11",
"id_district": "101",
}
]
},
{
"displayName": "Alexandre",
"districts": [{
"regions_id_region": "42",
"id_district": "411",
},
{
"id_district": "409",
"regions_id_region": "42"
}
]
}
]
const filtered = users.filter(u => u.districts.some(d => d.regions_id_region === '11'))
console.log(filtered)
推荐阅读
- java - 如何验证序列中的 3 个数字是否相等?
- angular7 - get dom element by attribute in ionic 4
- python - Issues with compiling a Keras sequential model
- regex - 在关键字之前立即捕获引号中的文本
- docker - 无法 ping 到 Kubernetes 中工作节点的 Pod 的 IP
- php - Laravel 5.7 将我重定向到安装和系统要求
- c# - 组合和存储库模式
- javascript - 为什么我得到未定义的日志
- android - kotlin 中的双向数据绑定不起作用
- python - 如何按字符数的特定模式拆分字符串?