我目前正在使用带链的lodash。我做了类似的事情:
let result = _(myCollection)
.filter(...)
.map(...)
.value()
return _.reduce(result, (a, b) => a && b, result.length != 0)
但我对此并不满意。我想在一条指令中做所有事情以获得类似的东西:
return _(myCollection)
.filter(...)
.map(...)
.reduce((a, b) => a && b, myMappedCollection.length != 0)
.value()
我无法找到一种方法来取回当前处理的收藏品。有没有办法做到这一点?
答案 0 :(得分:1)
如文档中所述:https://lodash.com/docs/4.17.4#reduce
将集合减少到一个值,该值是通过iteratee运行集合中每个元素的累积结果,其中每个连续调用都提供前一个的返回值。如果未给出累加器,则将第一个集合元素用作初始值。使用四个参数调用iteratee: (累加器,值,索引|键,集合)。
您可以执行以下操作
return _(myCollection)
.filter(...)
.map(...)
.reduce((a, b, indx, myMappedCollection) => a && b, myMappedCollection.length != 0)
.value()