2017-07-09 7 views
-3

これら2つのメソッドはほとんど同じですが、どのようにして1つのメソッドにリファクタリングできますか?indexOfを使用して2つのメソッドをリファクタリングする

method1 = (value) => { 
    var example = array.filter(row => row.key.indexOf(value) > -1); 
    this.setState({state: example}); 
} 

method2 = (value) => { 
    var example = array.filter(row => row.otherKey.indexOf(value) > -1); 
    this.setState({otherState: example}); 
} 

答えて

0

二つの機能との間で変化するもの取り、関数に渡さなければならないそれらの項目の引数にすることによって機能から分離:

var method = (value, key, state) => { 
    var example = array.filter(row => row[key].indexOf(value) > -1); 
    this.setState({state: example}); 
} 
関連する問題