🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## curry + [link](./curry "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L8522 "View in source.") + [npm](https://www.npmjs.com/package/lodash.curry "See the npm package.") ``` _.curry(func, [arity=func.length]) ``` 创建一个函数,该函数接收一个或多个 func 的参数。 当该函数被调用时,如果 func 所需要传递的所有参数都被提供,则直接返回 func 所执行的结果。 否则继续返回该函数并等待接收剩余的参数。 可以使用 func.length 强制需要累积的参数个数。 这个 `_.curry.placeholder` 的值,默认是以 `_` 作为附加部分参数的占位符。 **注意:** 这个方法不会设置 "length" 到 curried 函数上。 ### 参数 1. func (Function) 需要 curry 的函数 2. [arity=func.length] (number) 需要提供给 `func` 的参数数量 ### 返回值 (Function) 返回 curry 后的函数 ### 示例 ``` 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] // 使用了占位符 curried(1)(_, 3)(2); // => [1, 2, 3] ```