js-mentorship-razvan / javascript

Javascript study notes
GNU General Public License v3.0
22 stars 2 forks source link

Rewrite function using currying #464

Closed odv closed 4 years ago

odv commented 4 years ago
function multiply(a, b, c) {
    return a * b * c;
}
RazvanBugoi commented 4 years ago
function curry(f) {
    return function(a) {
        return function(b) {
            return function(c) {
                return f(a, b, c);
            };
        };
    };
}

function multiply(a, b, c) {
    return a * b * c;
}

let curriedMultiply = curry(multiply);

curriedMultiply(2)(2)(5) // 20