Найти вложенный объект с помощью lodash - PullRequest
0 голосов
/ 19 марта 2019

Я хочу получить парентобъект объекта с определенным идентификатором. В этом случае я знаю groupId и хочу получить родительский объект:

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

Это не работает:

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

1 Ответ

0 голосов
/ 20 марта 2019

Используйте _.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>
...