@dmitry2000

Как фильтровать массив по нескольким значениям из другого массива?

Есть код:
this.cars = this.cars.map(el => {
                return {
                    ...el,
                    details: el.car_details.length
                        ? detailsList.filter(
                              c =>
                                  c.id ===
                                  el.car_details[0].detail_id
                          )
                        : []
                };
            });

Где я меняю this.cars, добавляя новое поле details, в которое хочу передать массив найденных значений в detailsList (в this.cars в каждом объекте есть массив car_details, где хранятся объекты с id нужных деталей, которые я хочу вывести в поле details в новом массиве из общего списка деталей)
Если я беру el.car_details[0], т.е. первый элемент и его id и по нему фильтрую общий список, то всё ок. Но мне нужно фильтровать не по 1 элементу, а по нескольким, например, там может быть 5 id. Я пробовал метод include, но что-то видимо делал не так. Может кто подсказать, как быть?
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
c => el.car_details.some(d => d.detail_id === c.id)

или
c => el.car_details.every(d => d.detail_id === c.id)

в зависимости от того, что нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы