javascript - 在 React 中过滤多个值

标签 javascript reactjs filter

我的过滤器功能在这里很好用,但是它只过滤名字(见代码)。所以我想知道用姓氏和电话过滤的“最佳”方法是什么(见图)!
这是我目前的过滤器:

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

这是图像:
enter image description here

非常感谢! :D

最佳答案

您正在使用 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
  )
});

关于javascript - 在 React 中过滤多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45360519/

相关文章:

java - 如何在 Java 代码中使用 Weka 监督重采样过滤器?

javascript - 检测 Chrome 扩展程序弹出窗口何时打开

javascript - 在 Express 上保持 mysql 连接

javascript - React State 监听对象属性变化

css - 使用任意类名时,媒体查询无法与 css 模块一起正常工作

reactjs - 找不到@typescript-eslint/no-unused-expressions'

javascript - 可排序,js性能很慢

reactjs - 如何从 React Native 中的 componentDidMount 内部的函数访问 this.state ?

pandas - 获取列中具有多个特定值的所有客户

java - response.sendError(403),但返回是404