React.js - 过滤多个indexOf

时间:2017-09-13 14:20:21

标签: javascript reactjs

我只是在寻找有关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;
        }
    );

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
)