JSFiddle - React, Tailwind, and code Playground
by asdf
JavaScript
function sumABC(a, b, c) {
return a + b + c;
}
function greet(greeting, name) {
console.log(greeting + ' ' + name);
}
// implement function below:
function curry(func) {
var i = func.length;
var args = [];
return function callback() {
for (var j=0; j<arguments.length && args.length < func.length; j++) {
args.push(arguments[j]);
}
if (args.length === i) {
return func.apply(this, args);
} else {
return callback;
}
};
}
// examples:
// var example1 = curry(sumABC);
// example1(1)(2)(3);
// 6
console.log(curry(sumABC)(4,1)()(5));
// 10
// curry(sumABC)(1)()()()(1)(1);
// 3
// curry(sumABC)(7,7,7,7);
// 21
// var sayHello = curry(greet)('hi');
// sayHello('Bob');
// => "hi Bob"