如何在React中制作元素过滤器?

问题描述 投票:1回答:1

处于写入所选过滤器的状态:

 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"]

javascript reactjs
1个回答
3
投票

filter一起使用every

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)
© www.soinside.com 2019 - 2024. All rights reserved.