记录一下javascript中的高阶函数

傷城~ 2022-07-15 02:39 213阅读 0赞

现在有个需求是这样的,计算[a,b]之间所有数之和,包含a,b。

大致有以下几中方式:
(1)for循环

  1. var sum1 = (a,b) =>{
  2. if(a>b) return 0;
  3. var result = 0;
  4. for (var i = a; i <= b; i++)
  5. {
  6. result += i;
  7. }
  8. return result;
  9. }

(2)递归

  1. var sum2 = (a,b) => a>b?0:a+sum2(a+1,b);

(3)匿名递归,或者叫不动点组合子

  1. var sum3 = (f => f(f))(f => (a,b) => a>b?0:a+f(f)(a+1,b));

欢迎关注我的公众号“彤哥读源码”,查看更多“源码&架构&算法”系列文章, 与彤哥一起畅游源码的海洋。

qrcode

发表评论

表情:
评论列表 (有 0 条评论,213人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaScript 函数

    JavaScript 中的高阶函数是指可以接受函数作为参数或返回函数作为返回值的函数。它可以帮助我们实现抽象、灵活地处理函数,是函数式编程的重要工具。 常见的 JavaScr

    相关 python函数

    1.高阶函数 > 高阶函数 > \-实参是一个函数 > \-函数的返回值也是一个函数 > 函数本身也是可以赋值给变量的 变量可以指向函数 print(a

    相关 JavaScript函数笔记

    今天和一位老师学习了高阶函数,感觉非常有用,做个笔记。 我学习的JavaScript三个高阶函数是filter/map/reduce,高阶函数真的很不错,我打个比方吧,如果说