【发布时间】:2017-10-29 15:53:27
【问题描述】:
使用没有 fp 的普通 lodash,你会做类似的事情
chain(array).map(..).reduce(...).value()
使用 fp,你会这样做
compose(reduce(...), map(...))(array)
我可以使它适用于许多方法(展平、排序、映射),但 reduce 除外。
你会期望它 (lodash/fp/reduce) 像这样工作
reduce((a,b)=>a+b, 0)([1,2,3])
但是 fp 版本仍然需要 3 个参数,这对我来说没有意义。所有其他功能对我来说都是这样工作的,除了 reduce
func(...)(array)
我怎样才能使 fpreduce 以这种方式像其他 fp 函数一样工作:
compose(reduce(...), map(...), flatten(...))(array)
【问题讨论】:
-
问题是什么?
-
@hackerrdave 问题是,如何让它像所有其他 fp 函数一样工作?以可组合的方式。由于所有其他 fp 函数都可以正常工作,除了 reduce,我试图在这里找出我做错了什么。
标签: javascript functional-programming lodash