一.高阶函数:是一种特殊的函数,特殊之处在于:它使用函数作为参数或返回值
(1).Scala的常见高阶函数包括Array.map、flatten、flatmap、foreach、reduce、filter和fold等。
object Base38 {
def mian(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是一个高阶函数,以为它的参数类型是 函数!
//用for循环输出
for(i<-arr1){
println(i)
}
}
}
object Base38 {
def mian(args:Array[String]): Unit= {
val arr = Array(1,2,3,4,5)
val arr1 = arr.map(x=>x*2) //fn是一个字面量函数
//用for循环输出
for(i<-arr1){
println(i)
}
}
}
把(1,2,3,4,5)->(1,4,9,16,25)
val arr = arr.map(x=>x*x)
把(-1,2,-3,-4)->(1,2,3,4)
val arr = arr.map(x=>if(x>0 )else -x)
任务:在数组中找出元素是偶数的,并组成新数组。(1,2,3,4,5)——>(2,4)
object Base40 {
def mian(args:Array[String]): Unit= {
val arr = Array(1,2,3,4,5). //fn是一个字面量函数
//x%2 ==0 用来判断是否为偶数
val arr1 =arr.filter(x => x%2 == 0)
//打印新数组
arr1.foreach(println)
}
}
例题1