在React中过滤多个值

Mar*_*röm 2 javascript filter reactjs

我的过滤器功能在这里很好用,但是只过滤名字(参见代码)。因此,我想知道哪种“最佳”方式也可以通过姓氏和电话进行过滤(参见图片)!这是我目前的过滤器:

const filteredUsers = this.state.dataToDisplay.filter(item => {
  return (
    /*Only firstname!*/item.name.toLowerCase().indexOf(this.state.search.toLowerCase()) >= 0
  )
})
Run Code Online (Sandbox Code Playgroud)

这是图片: 在此处输入图片说明

非常感谢!:D

Sam*_*ich 5

您正在Javascript数组级别上使用过滤,因此只需扩展条件即可:

const filteredUsers = this.state.dataToDisplay.filter(item => {
  const query = this.state.search.toLowerCase();

  return (
    item.name.toLowerCase().indexOf(query) >= 0 ||
    item.surname.toLowerCase().indexOf(query) >= 0 || 
    item.phone.toLowerCase().indexOf(query) >= 0
  )
});
Run Code Online (Sandbox Code Playgroud)