3 javascript filter code-readability lodash
试图找出最干净的方法来执行以下操作:
我对一些结果进行了两次过滤,并且我正在使用 Lodash 过滤器来执行此操作。目前,我的代码如下所示:
resultsOne = _.filter(results, functionOne);
resultsTwo = _.filter(resultsOne, functionTwo);
Run Code Online (Sandbox Code Playgroud)
我意识到我可以组合 functionOne 和 functionTwo,但我喜欢将它们分开以提高可读性。是否有使用 Lodash 或纯 ol' Javascript 过滤两个函数的最佳实践?
谢谢!
使用 lodash
您可以使用 来创建过滤函数_.overEvery(),并在过滤器中使用它:
var ff = _.overEvery([functionOne, functionTwo]);
var filteredResults = results.filter(ff)
Run Code Online (Sandbox Code Playgroud)
香草JS
创建一个过滤器函数数组,并使用Array#every将它们应用到一个值:
var filters = [functionOne, functionTwo];
filterdResults = results.filter(function(item) {
return filters.every(function(ff) {
return ff(item);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4448 次 |
| 最近记录: |