mirror of
https://gitlab.com/mfocko/LeetCode.git
synced 2024-11-09 15:59:06 +01:00
20 lines
362 B
JavaScript
20 lines
362 B
JavaScript
|
/**
|
||
|
* @param {Function} fn
|
||
|
* @return {Function}
|
||
|
*/
|
||
|
var curry = function(fn) {
|
||
|
return function curried(...args) {
|
||
|
if (args.length >= fn.length) {
|
||
|
return fn.apply(this, args);
|
||
|
}
|
||
|
|
||
|
return curried.bind(this, ...args);
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* function sum(a, b) { return a + b; }
|
||
|
* const csum = curry(sum);
|
||
|
* csum(1)(2) // 3
|
||
|
*/
|