Как сделать фильтр элементов в React?
Есть стейт, в который пишутся выбранные фильтры:
state = {
filters: [],
};
Есть список элементов:
const json = [
{action : true, new : true, name : 'Морський'},
{action : true, new : false, name : 'Дольче Віта' },
{action : false, new : false, name : 'Спекотний сезон' },
{action : false, new : true, name : 'Уікенд' },
]
Как отфильтровать элементы по выбранным фильтрам? Стейт с фильтрами может выглядеть так: filters ["new", "action"]
Ответы (1 шт):
Автор решения: CryNet
→ Ссылка
Ответ: const result = json.filter(x => filters.every(y => x[y]));
const filters = ["new", "action"];
const json = [
{ action: true, new: true, name: "Морський" },
{ action: true, new: false, name: "Дольче Віта" },
{ action: false, new: false, name: "Спекотний сезон" },
{ action: false, new: true, name: "Уікенд" }
];
const result = json.filter(x => filters.every(y => x[y]));
console.log(result)