ZamarShoo
@ZamarShoo
React/Vue, Node/PHP, Wordpress/Drupal

Как правильно сделать фильтр, сравнивая два массива?

Нужно вывести только те элементы из json (foods), в которых элементы tags.elements полностью совпадают с приходящим массивом.
То есть если приходят 2 продукта в массиве, то я должен отфильтровать foods и вернуть только те элементы, где в tags.elements есть все эти продукты. Я понимаю, что нужно использовать .filter() и .map(), но выдает не так, как я хочу.
foods: [
    {
         ...,
         tags: {
              elements: ["...", ...],
              ...
         }
    },
...
]


Заранее благодарю
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
WblCHA
@WblCHA
const filtered = foods.filter((f) => 
  f.tags.elements.length === arr.length &&
  f.tags.elements.every((e) => arr.includes(e))
);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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