@TuMko

Почему не срабатывает js метод filter?

В проекте Vue фильтрую массив данных. Применяю два метода фильтрации: в первом случае по строке (отрабатывает как надо) и во втором случае по массиву значений. Второй метод срабатывает только тогда, если после него применить первый метод, т.е. сначала нужно отфильтровать по массиву и потом по строке. Подскажите где ошибка и как исправить?

//сюда прилетает значение через emit вида:
// {
//  country: "aaa",
//  types: ["bbb", "ccc"],
// }
const filter = ref({});

const hotels = computed(() =>
  store.getters["hotels"].hotels
    .filter((hotel) => {
      if (filter.value.country) {
        return hotel.country
          .toLowerCase()
          .includes(filter.value.country.toLowerCase());
      }
      return true;
    })
    .filter((hotel) => {
      if (filter.value.types && filter.value.types.length) {
        return filter.value.types.includes(hotel.type);
      }
      return true;
    })
);
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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