函数科里化是指,函数传递多个参数改为传递一个参数,利用js 闭包原理,每次返回新函数,达到收集足够参数来执行原函数
function currying(length){
let nums = []
function sum(...args){
nums.push(...args)
if(nums.length >= length){
let res = nums.splice(0,length).reduce((m,n)=>m+n,0)
nums = []
return res
}else{
return sum
}
}
return sum
}
let add = currying(4)
console.log(add(1,2,3,4,5))