function curry(fn,argLength,argList) {
return function (a) {
let newargList = [a]
if(argList){
newargList = argList.slice(0)
newargList.push(a)
}
return argLength === 1 ? fn.apply(this, newargList) : curry(fn, argLength - 1, newargList)
}
}
function addTwoNum(a,b) {
return a+b
}
function addThreeNum(a, b,c) {
return a + b + c
}
let curryAdd = curry(addThreeNum,3)
let oneAdd = curryAdd(1)
let oneAddtwoAdd = oneAdd(2)
console.log(oneAdd)
oneAdd(6)
console.log(oneAddtwoAdd(3))