我在使用多个过滤器进行反应(过滤数组)时遇到麻烦
这是我的过滤器代码
const filteredRobots = robots.filter(robot => {
const robotName = `${robot.firstName.toLowerCase()} ${robot.lastName.toLowerCase()}`;
return (
robot.firstName.toLowerCase().includes(nameSearchField.toLowerCase()) ||
robot.lastName.toLowerCase().includes(nameSearchField.toLowerCase()) ||
robotName.includes(nameSearchField.toLowerCase())
);
这很完美,并且满足此处的3个条件。但是,我还想满足一个条件,即可以通过标签进行搜索。我试图以此作为延续。甚至自己尝试过,但无济于事
robots.tags.includes(tagSearchField)
我也尝试了另一种方法,但是没有成功。
我将Github包含在此处,希望对您有所帮助。有问题的代码在app.js中。
无论如何,要澄清。我正在尝试通过除机器人名称之外的标签来过滤机器人。预先感谢!
编辑:我已修复它,这就是我的方法!
const filteredRobots = robots.filter(robot => {
const robotName = `${robot.firstName.toLowerCase()} ${robot.lastName.toLowerCase()}`;
if (tagSearchField.length > 0) {
return robot.tags
.toString()
.toLowerCase()
.includes(tagSearchField.toLowerCase());
}
return (
robot.firstName.toLowerCase().includes(nameSearchField.toLowerCase()) ||
robot.lastName.toLowerCase().includes(nameSearchField.toLowerCase()) ||
robotName.includes(nameSearchField.toLowerCase())
);
});