柯里化

// 简单的递归一下,柯里化的目的也就是函数式编程
function currying(fn, ...args) {
  if (args.length >= fn.length) {
    return fn(...args);
  }
  return function(...args2) {
    return currying(fn, ...args, ...args2);
  };
}

// 做一个加法
function add(...args) {
  let sum = 0;
  const innerAdd = (...args) => {
    args.forEach(i => (sum += i));
    return innerAdd;
  };
  innerAdd.toString = () => sum;
  return innerAdd(...args);
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:柯里化

文章字数:72

本文作者:泽鹿

发布时间:2019-07-30, 17:48:50

最后更新:2019-08-28, 19:16:31

原始链接:http://panyifei.github.io/2019/07/30/前端面试/代码/基础/柯里化/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏