#javascript #reactjs #react-native
#javascript #reactjs #react-native
Вопрос:
Итак, я создаю экран фильтра React Native, когда пользователь нажимает применить фильтр, мы получим массив
Input Array
type = ["A/C", "Seater", "Sleeper"];
Некоторое время я буду получать только один из приведенных выше, в этом случае я могу легко использовать filter из lodash для запуска функции filter. Но если я получу массив, подобный приведенному выше, как реализовать это с помощью filter?
Поскольку пользователь может захотеть отфильтровать список, используя только A / C или иногда A / C и Seater, когда мы получаем более одного выбора, как реализовать это в фильтре?
trying with switch
filterHandler(depature, busType)
{
switch (depature) {
case type:
this.setState({ availableList: this.state.List.filter(o => o.AC === "true")});
default:
return;
}
}
Поскольку, если я использую регистр переключения для каждого, то мой регистр переключения будет очень большим, есть ли какой-нибудь профессиональный способ сделать это?
Ответ №1:
Как я понял, вы хотите отфильтровать некоторый массив, используя другой массив. Вы могли бы сделать это так:
const filteredArray = arrayToFilter.filter(item=>type.every(t=>item[t]))