站点工具

用户工具


手写函数柯里化

代码实现

function curry(fn) {
  let arr = []
  return function curried (...args) {
    arr = [...arr, ...args]
    if(arr.length >= fn.length) {
     return fn(...arr)
    } 
    return curried
  }
}
 
function sum(a, b, c, d) {
  return a + b + c + d;
}
 
let sum2 = curry(sum)
let sum3 = curry(sum)
 
console.log(sum2(1)(2)(2,3))
console.log(sum3(4)(5)(6,5))
若愚 · 2021/09/23 11:21 · javascript_柯里化.txt