lodash - 使用 lodash 查找嵌套对象
问题描述
我想获取具有特定 id 的对象的父对象。在这种情况下,我知道 groupId 并想要获取父对象:
const myObject = [
{
"myItems": [
{
"id": 1,
"group": {
"groupId": 33,
},
},
{
"id": 2,
"group": {
"groupId": 44,
},
},
]
}
]
这不起作用:
const parentObject= filter(myObject, {[myItems: {groupId: 44}]})
解决方案
用于_.some()
检查属性groupId
内部是否有物品myItems
。如果_.some()
返回true
,则该项目将包含在结果中。
const myArray = [{"myItems":[{"id":1,"group":{"groupId":33}},{"id":2,"group":{"groupId":44}}]},{"myItems":[{"id":1,"group":{"groupId":55}}]}]
const result = _.filter(myArray, o =>
_.some(o.myItems, ['group.groupId', 44])
)
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
推荐阅读
- awk - 带有前导零的 Windows gawk 搜索
- android - 如何将文件保存到用户可访问的位置?
- c++ - 即使主窗口关闭,应用程序也不会退出
- javascript - JavaScript:等待第 3 方组件可用
- dynamic-programming - 计算回文子串的数量
- python - 赋值前引用的局部变量“board”
- linux - 程序如何在操作系统的控制下运行
- angular - 相互依赖的角度多个 APP_INITIALIZER
- linux - 如何制作 crontab housekeep 脚本以删除 redhat 7 目录中超过 60 天的文件
- python-3.x - 这种字符串反转背后的逻辑是什么?