高阶函数

36 阅读1分钟
一.高阶函数:是一种特殊的函数,特殊之处在于:它使用函数作为参数或返回值

(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