Open ChuChencheng opened 4 years ago
函数式编程中的概念,一个函数经过柯里化处理后,可以接受任意数量的参数,如果参数数量不足,则会返回一个新的函数,这个新的函数也是一个柯里化的函数,可以接收剩余的参数;如果参数数量足够,则执行原来的函数。
const add = curry((a, b) => a + b) add(1)(2) // 3 add(1) // function
const curry = (fn, array = []) => { const len = fn.length - array.length return (...args) => { if (args.length < len) { return curry(fn, array.concat(args)) } else { return fn.apply(this, array.concat(args)) } } }
scriptoj 题目: #30 curry 函数
概念
函数式编程中的概念,一个函数经过柯里化处理后,可以接受任意数量的参数,如果参数数量不足,则会返回一个新的函数,这个新的函数也是一个柯里化的函数,可以接收剩余的参数;如果参数数量足够,则执行原来的函数。
例子
实现