JSFiddle - React, Tailwind, and code Playground

by Naveen Ravichandran

JavaScript

var add = (a,b,c) => a+b+c;

var curry = function(fun){
	return function curried(...args) {
  	if (fun.length === args.length) {
    	return fun.apply(this, args)
    } else {
      return (...args2) => {
      	return curried.apply(this, [...args,...args2])
      }
    }
  }
};

var curried = curry(add)

console.log(curried(1,2,3))
console.log(curried(1)(2,3))
console.log(curried(1)(2)(3))


var add3 = (a, ...b) => console.log(a, b)

add3(1,2,3)