curry source npm
_.curry(func, [arity=func.length])
Creates a function that accepts one or more arguments of func
that when
called either invokes func
returning its result, if all func
arguments
have been provided, or returns a function that accepts one or more of the
remaining func
arguments, and so on. The arity of func
may be specified
if func.length
is not sufficient.
The _.curry.placeholder
value, which defaults to _
in monolithic builds,
may be used as a placeholder for provided arguments.
Note: This method doesn't set the "length" property of curried functions.
Arguments
- func (Function)
The function to curry.
- [arity=func.length] (number)
The arity of
func
.
Returns (Function)
Returns the new curried function.
Example
var abc = function(a, b, c) {
return [a, b, c];
};
var curried = _.curry(abc);
curried(1)(2)(3);
// => [1, 2, 3]
curried(1, 2)(3);
// => [1, 2, 3]
curried(1, 2, 3);
// => [1, 2, 3]
// using placeholders
curried(1)(_, 3)(2);
// => [1, 2, 3]