什么是高阶函数?
高阶函数:一种特殊的函数,它的参数或者返回值是函数类型。
示列:
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。不需要写()