高阶函数

42 阅读1分钟

高阶函数

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

Scala的常见高阶函数包括Array.map、flatten、flatmap、foreach、reduce、filter和fold等。

(一)map 函数

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

例题1把数组(1,2,3,4,5) → (2,4,6,8,10)

val arr1 = Array(1,2,3,4,5,6)  
val arr2 = arr1.map(x=>x*2)  
for(i <- arr2){  
  println(i)  
}

(一)foreach函数

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

如何应用

打印数组中的元素

arr2.foreach(println)

(二)filter函数

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

例题 在数组中找出元素是偶数的,并组成新数组。(1,2,3,4,5) → (2,4)

val arr1 = Array(1,2,3,4,5,6)  
val arr3 = arr1.filter(x=> x%2  == 0)  
arr3.foreach(println)

(三)flatten函数

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

var arr1 = Array(Array(1,2,3), Array(4,5,6))  
println(arr1(0)(0))  
var arr2 = arr1.flatten