函数柯里化

    function curry(fn){
        if(fn.length <= 1) return fn
        return generator = (...args) => 
            fn.length === args.length 
            ? fn(...args)
            : (..._args) => generator(fn, ...args, _args)
    }

    let add = (a, b, c, d) => a + b + c + d
    let curriesAdd = curry(add)
    console.log(curriesAdd(5, 6, 7, 8))

返回一个函数,供后面调用,参数就是后面调用时传入的参数。

今天在群里看到一位群友发的一个题目,我看解法就是用柯里化,我原来学习过,但是工作中用的非常少,如今又复习了一遍,使我受益匪浅。

posted @ 2019-06-25 22:38  来亦何哀  阅读(123)  评论(0编辑  收藏  举报