用lodash查找嵌套对象

时间:2019-03-19 09:39:05

标签: lodash

我想获取具有特定ID的对象的父对象。在这种情况下,我知道groupId并想获取父对象:

const myObject = [
  {
    "myItems": [
      {
        "id": 1,
        "group": {
          "groupId": 33,
        },
      },
      {
        "id": 2,
        "group": {
          "groupId": 44,
        },
      },
    ]
  }
]

这不起作用:

const parentObject= filter(myObject, {[myItems: {groupId: 44}]})

1 个答案:

答案 0 :(得分:0)

使用_.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>