基于对象键javascript的动态循环

时间:2017-12-17 05:04:15

标签: javascript reactjs ecmascript-6

我有一个列表,我有一个用于过滤的搜索栏,

handleSearch = e => {
    const q = e.target.value
    if(q){
      const filtered = this.state.data.filter(o => {
        return o['name'].includes(q)
      })
      this.setState({
        data: filtered
      })
    }else{
      this.setState({
        data: this.state.source
      })
    }
  }

这种方法的问题在于我硬编码了[' name']如果我的列表有多个属性,这就是一个问题。

https://codesandbox.io/s/420lxz97r4

1 个答案:

答案 0 :(得分:0)

您可以使用Object.keys和Array.some:

return Object.keys(o).some(e => o[e].includes(q))