Implement curry function
You are required to implement a curry function that takes a function and returns a curried version of it.
Currying is a technique in functional programming where a function with multiple arguments is broken down into a sequence of functions each taking a single argument.
Currying is a powerful tool that can improve code reusability, composability, and maintainability.
function sum(a, b, c) {
return a + b + c;
}
let curriedSum = curry(sum);
console.log(curriedSum(1)(2)(3)); // 6
console.log(curriedSum(1, 2)(3)); // 6
console.log(curriedSum(1, 2, 3)); // 6
Examples
Convert function into a simple curried function
This is a normal function
const sum = (a, b, c) => {
return a + b + c;
}
console.log(sum(1, 2, 3)); // Output: 6
Let's transform this function into a curried version:
const sum = (a) => {
return (b) => {
return (c) => {
return a + b + c;
};
}
}
console.log(sum(1)(2)(3)); // Output: 6