14.6 高阶函数

能够接受函数作为参数或者把好函数作为返回值的函数就叫高阶函数.

我们上节课学习自定义的evaluate函数, 还有以前学习过的map, filter, reduce等都是高阶函数.

几个常用的高阶函数:

map

一帮用来从一个简单的集合中得到一个想要的集合.

filter

把一个集合中过滤掉不想要的集合

reduce

对一个集合中的所有元素进行归纳

// 计算 5 的阶乘 
// _ * _  表示一个二元函数(有两个参数的函数)
// 第一个 _ 表示第一个参数, 第二个 _ 表示第二个参数
println((1 to 5).reduce(_ * _))

foreach

map有点类似, 也是会遍历集合中的每个元素. 但是foreach不会返回任何的值.

  // 打印一个三角形
  (1 to 9).map("*" * _).foreach(println _)

sortWith

object HighLevelDemo1 {
  def main(args: Array[String]): Unit = {
    // 返回一个按长度递减的数组
    val arr1: Array[String] =
      "I love playing Game"
        .split(" ")
        .sortWith(_.length > _.length)
    println(arr1.toBuffer)
  }
}

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-12-13 18:58:10

results matching ""

    No results matching ""