В проекте 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;
})
);