# Curry实现

function add(a, b){ return a + b }

function curry(fn) { }

curry(add)(a)(b) => 3
1
2
3
4
5

实现

function curry(fn) {
  let length = fn.length
  let args = []
  return function inner() {
    args.push(...arguments)
    if (args.length < length) {
      return inner
    } else {
      return fn.apply(this,args)
    }
  }
}

function add(a,b){return a+b}

console.log(curry(add)(1)(2))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
更新时间: 5/5/2023, 11:19:52 AM