lodash中curry方法的实现

lodash中curry方法的实现


function getSum (a, b, c) {
  return a + b + c
}

const curried = curry(getSum)

console.log(curried(1, 2, 3));
console.log(curried(1)(2, 3));
console.log(curried(1, 2)(3));

// 重写lodash中的curry方法

function curry (func) {
  return function curriedFn( ...args) {
    if(args.length < func.length) {
      return function () {
        return curriedFn(...args.concat(Array.from(arguments)))  // 将数组合并后展开
      }
    }
    return func(...args)
  }
}
posted @ 2022-03-22 21:11  不遇  阅读(81)  评论(0)    收藏  举报