高阶函数

53 阅读1分钟

1. 高阶函数的定义

高阶函数:是一种特殊的函数,特殊之处在于:它使用其他函数作为参数或者返回值

object Base035 {
def main(args:Array[String]):Unit = {
  val arr = Array(1,2,3,4,5)
  
  val fn = (x:Int) =>  x * 2 // fn 是一个字面量函数
  
  val arr1 = arr.map( fn ) // map 是一个高阶函数,因为他的参数类型是 函数!
  // 没有必要去单独定义一个函数fn,这里直接写在map函数内,此时,他就是一个匿名函数
 // 用for循环输出
  for (i <- arr1) {
    println(i)
  }
 }
}

2.map函数的使用方法

object Base36 {
  def main(args: Array[String]): Unit = {
    val arr = Array(1, 2, 3, 4, 5)
    val arr1 = arr.map(x => x * x)
    for (i <- arr1) {
      println(i)
    }
  }
}
object Base37 {
  def main(args: Array[String]): Unit = {
    val arr = Array(-1, 2, -3, -4)
    val arr1 = arr.map(x => Math.abs(x))
    for (i <- arr1) {
      println(i)
    }
  }
}

3.foreach函数

foreach函数的作用:将二维数组中的元素展平到单数组中