function currying(fn,length){
length =length || fn.length;
return function(...arg){
if(arg.legth>=length){
return fn.apply(this,arg)
}else{
return currying(fn.bind(this,...arg),length-ary.length)
}
}
}
let f3=function(a,b,c){
return a+b+c
}
let add=currying(f3)
add(1)(2)(3) // 6
add(1,2)(3) // 6
add(1)(2,3) // 6
add(1,2,3) // 6