Scala之高阶函数 Ⅰ

42 阅读1分钟

什么是高阶函数?

高阶函数:一种特殊的函数,它的参数或者返回值是函数类型。

示列:

  def main(args: Array[String]): Unit = {
    val arr1 = Array(1, 2, 3, 4, 5, 6)
    // Array是一个构造器,用来定义一个数组。
    // arr1 就是一个数组对象,它有很多的方法,其中就有map。
    // for 循环来输出数组中每个元素

    val fn = (x: Int) => x * 2
    // fn 是一个函数,它被传给了map.map是一个高级函数
    val arr2 = arr1.map(fn)

    // for 循环来输出数组中每个元素
    for (i <- arr2) {
      println(i)
    }
  }
}

map函数:

定义:通过对数组的每一个元素应用一个函数来构建一个新数组。

语法:新数组 = 旧数组.map

案列:

object t0 {
  // 定义原始数组
  val originalArray = Array(1, 2, 3, 4, 5)
  // 使用map函数对每个元素乘以2
  val doubledArray = originalArray.map(_ * 2)
  // 打印结果
  println(doubledArray.mkString("(", ", ", ")"))  // 输出:(2, 4, 6, 8, 10)
}

foreach函数

作用:对数组的每一个元素应用函数。

语法:数组.foreach(元素=>{})

filter函数

作用:对数组元素使用函数进行过滤。

语法:新数组= 旧数组.filter(元素=>bool)  它的参数是一个函数,这函数的返回值是布尔值。如果返回为true就保留。

(一)flatten函数

作用:将二维数组中的元素展平至单数组中。

语法:二维数组.flatten。不需要写()