我只是在寻找有关React.js过滤的一些建议。我目前正在通过'employeeName'过滤'peopleList',这很正常,我正好回到了我的期望。
但是我也希望同时按'employeeID'进行过滤,即检查'employeeName'或'employeeID'是否包含indexOf ..这是可能的还是我需要为'设置两个过滤器? employeeName'和' employeeID'?
let people= this.state.peopleList.filter(
(person) => {
return person.record.employeeName.toLowerCase().indexOf(this.state.search.toLowerCase()) !== -1;
// return person.record.employeeID.toLowerCase().indexOf(this.state.search.toLowerCase()) !== -1;
}
);
答案 0 :(得分:2)
如果您的情况是一个或另一个,您可以使用||
运算符
const { search, peopleList } = this.state
const searchStr = search.toLowerCase()
const people = peopleList.filter((person) =>
person.record.employeeName.toLowerCase().indexOf(searchStr) !== -1 ||
person.record.employeeId.indexOf(searchStr) !== -1
)