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
上一篇 下一篇

猜你喜欢

热点阅读