JS比较简洁的柯里化函数
2021-11-03 本文已影响0人
隔壁老王z
function curry(fn) {
return function curried(...args) {
if(args.length < fn.length) {
// 主要是这里返回一个函数等待接受剩余的参数
return function(...rest) {
return curried(...args.concat(rest))
}
} else {
return fn(...args)
}
}
}
function add(num1, num2, num3) {
return num1 + num2 + num3
}
const curryAdd = curry(add)
curryAdd(1)(2)(3) // 6