`

函数式编程(4)

 
阅读更多

                                          高阶函数

 1.高阶函数:以一个函数作为参数;以一个函数作为返回结果。

 2.以函数为参数的有_.map,_.reduce和_.filter等一些函数,具体的操作请参照Underscore.

(1)对于_.max这个函数是用运算符(>)来比较的,然而他不能实现真正的比较,这时就需要创建一个新函数了。

例:

function finder(valueFun, bestFun, coll){
   return _.reduce(coll, function(best,current){
           var bestValue = valueFun(best);
           var currentValue = valueFun(current);
           return (bestValue === bestFun(bestValue, currentValue)) ? best : current;
   })
}
finder(_.identity, Math.max, [1,2,3,4,5]);
//>>5;

 这就是一个高阶函数的实现。通过valueFun用来生成比较值,bestFun函数实现各种比较,coll传入值。

(2)使用的是函数,而不是值。

例:

function repeatedly(times, fun){
   return _.map(_.range(times),fun);
}
//用于将一个函数重复执行多次;
repeatedly(3,function(){
    return Math.floor((Math.random()*10)+1);
})
//>>[1,3,8](这里产生的是随机数,结果不唯一)

 times代表执行的次数,fun执行的函数。

分享到:
评论

相关推荐

    函数式编程思维.pdf_函数式编程_函数式编程思维_

    函数式编程目前已跟OO一样,是一种重要的编程范式,可以在一些场合下更容易的解决相关问题。

    javaScript函数式编程

    1.2 开始函数式编程4 1.2.1 为什么函数式编程很重要4 1.2.2 以函数为抽象单元7 1.2.3 封装和隐藏9 1.2.4 以函数为行为单位10 1.2.5 数据抽象14 1.2.6 函数式JavaScript初试17 1.2.7 加速19 1.3 Underscore示例22 1.4...

    javascript函数式编程

    javascript函数式编程 javascript函数式编程 javascript函数式编程

    Scala函数式编程

    函数式编程(FP)是一种软件开发风格,它注重不依赖于编程状态的函数。函数式代码易于测试和复用,容易实现并发,且不容易受到bug的攻击。Scala是一种能很好支持函数式编程的新兴JVM语言。《Scala函数式编程》是针对...

    Scala函数式编程.pdf

    函数式编程(FP)是一种软件开发风格,它注重不依赖于编程状态的函数。函数式代码易于测试和复用,容易实现并发,且不容易受到bug的攻击。Scala是一种能很好支持函数式编程的新兴JVM语言。《Scala函数式编程》是针对...

    Java 8函数式编程.pdf

    Java 8函数式编程

    函数式编程另类指南

    的确,关于函数式编程的文章和论文难于理解,但他们本来不必这么晦涩。这一知识隔阂的形成完全是历史原因。函数式编程的概念本身并不困难。这篇文章可以作为“简易的函数式编程导引”。是一座从我们命令式...

    javascript指南和函数式编程

    javascript高效编程和函数式编程指南书籍PDF,适合深入学习javascript

    JavaScript 轻量级函数式编程

    JavaScript 轻量级函数式编程 JavaScript 轻量级函数式编程

    JS函数式编程指南

    函数式编程的大门,让函数式编程变得理所当然!

    Haskell函数式编程入门 张淞

    Haskell函数式编程入门

    JavaScript ES6函数式编程入门经典

    《JavaScriptES6函数式编程入门经典》使用JavaScriptES6带你学习函数式编程。你将学习柯里化、偏函数、高阶函数以及Monad等概念。  目前,编程语言已经将焦点从对象转移到函数。JavaScript支持函数式编程,并允许...

    函数式编程中文版.pdf

    什么是函数式编程,相信有会有兴趣了解。纯函数有什么好处?什么是柯里化?这里有答案

    JS 函数式编程指南

    我们将使用 JavaScript 这个世界上最流行的函数式编程语言来讲述这一主题。有人可能会觉得选择 JavaScript 并不明智,因为当前的主流观点认为它是一门命令式(imperative)的语言,并不适合用来讲函数式。但我认为,...

    函数式编程中的Swift与Swift中的函数式编程

    GMTC全球移动技术大会ppt 作者:傅若愚 主题:函数式编程中的Swift与Swift中的函数式编程

    JavaScript函数式编程.pdf

    JavaScript函数式编程.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

    java8函数式编程(csdn)————程序.pdf

    java8函数式编程(csdn)————程序

    函数式编程-B站-三更草堂

    函数式编程-B站-三更草堂

Global site tag (gtag.js) - Google Analytics