JSFiddle - React, Tailwind, and code Playground

by Adil Heybətov

JavaScript

function curry(func) {
  return function curried(...args) {
    if (args.length >= func.length) {
      return func.apply(this, args)
    } else {
      return function (...args2) {
        return curried.apply(this, args.concat(args2))
      }
    }
  }
}

/* function curry(f) {
  return function (a) {
    return function (b) {
      return f(a, b);
    }
  }
}

function sum(a, b) {
  return a + b
}

let curriedSum=curry(sum);

console.log(curriedSum(1)(2)); */