2017-09-13 1 views
1

React.jsフィルタリングに関するアドバイスを探しています。私は現在、 'employeeName'によって 'peopleList'をフィルタリングしています。これは正常に動作しています。React.js - filter multiple indexOf

しかし、私は同時に '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

あなたは '||'、*または*演算子を使用してみました使用することができますか? 'employeeNameIndexOf!== -1 || employeeIdIndexOf!== -1' –

答えて

1

あなたの条件は、1つまたは他のいずれかである場合は、||オペレータ

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 
) 
+0

ありがとうございます。これは素晴らしい仕事でした!私はこれをやろうとしていましたが、正しく構成されていませんでした。 – ballbern