【发布时间】:2021-11-22 05:55:58
【问题描述】:
在 React Redux 中使用多个选项进行过滤:
过滤选项:
{
option1: ['GY'],
option2: ['Y'],
option3: [],
option4: ['N'],
option5: ['A', 'W'],
}
过滤功能:
body.search.listFiltered = body.search.list.filter(
(i) =>
filterOption["option1"].includes(i.s) &&
filterOption["option2"].includes(i.b) &&
filterOption["option3"].includes(i.u.p) &&
filterOption["option4"].includes(i.f.p) &&
filterOption["option5"].includes(i.n.p)
);
即使option3 为空,它也应该可以工作——它可以是任何其他选项。
每个option-x 与一个特定对象一起使用,例如option1 与对象i.s。而option2 和i.b 等等......
现在它返回一个空数组[]。
我在这里做错了什么?
【问题讨论】:
-
你有什么错误吗?
-
没什么,它只是返回一个空数组。当我只有 1 或 2 个选项时,它才有效(但它们的数组需要带有值)。但是对于上面的多个类似它只是没有。 @NeelDsouza
-
-
可以先检查filterOption中是否有空数组,再过滤body
-
@Yaroslav 但有时一些
option-X数组会是空的。那我该如何修复过滤器呢?
标签: javascript reactjs redux filter react-redux