带有lodash/fp的方法_.range()
具有两个固定的对数。
基本上,您不能执行_.range(4)
,但必须这样做_.range(0, 4)
。
我想这与功能方法有关。
有人可以向我解释或指出一些有用的资源吗? 或者也许写一个例子来说明使用它的好处。谢谢。
答案 0 :(得分:1)
由于lodash / fp函数是curried,因此您需要具有固定的arity(函数可以接受的参数数量),这意味着该函数不能具有可选参数)。
注意:lodash(和ramda)使用更宽松的curring版本。在经典的curring中,结果函数一次到达1个参数,直到达到原始arity,然后调用原始函数。例如,对于3-fn(arg)(arg)(arg)
。在lodash中,您可以提供多个参数(例如在_.range(0, 4)
中),而不是1。因此,如果您有一个Arity为3的函数,则可以使用fn(arg, arg, arg)
或fn(arg, arg)(arg)
或{ {1}},等等...-即将导致3个参数的所有组合。
如果您通常使用fn(arg)(arg)(arg)
(固定固定数为1),则可以使用_.range(n)
-0
调用该函数,而对于lodash / fp函数的管理性质,您可以将会得到一个新函数,期望只包含一个数字,并且将生成一个从_.range(0)
到该数字的范围(如标准lodash的范围)。
0
const range0 = _.range(0)
console.log(range0(3))
console.log(range0(1))