高阶函数
是一种特殊的函数,特殊之初在于:它指使其他函数作为参数或者返回值。
object Base43 {
def main(args:Array[String]):Unit = {
val arr = Array(1,2,3,4,5)
val arr1 = arr.map(x => x * 2 )
for(i <- arr1){
println(i)
}
}
}
- fn是一个字面量函数
- map是一个高阶函数,因为它的参数类型是函数
- 没有必要去单独定义一个函数fn,这里直接写在map函数内,此时,它就是一个匿名函数
(1,2,3,4,5) -> (1,4,9,16,25)
object Base44 {
def main(args:Array[String]):Unit = {
val arr = Array(1,2,3,4,5)
val arr1 = arr.map(x => x * x)
for(i <- arr1){
println(i)
}
}
}
(-1,2,-3,-4) -> (1,2,3,4)
object Base44 {
def main(args:Array[String]):Unit = {
val arr = Array(-1,2,-3,-4,5)
val arr1 = arr.map(x => if(x>0) x else -x)
for(i <- arr1){
println(i)
}
}
}
object Base45 {
def main(args:Array[String]):Unit = {
val arr = Array(1,2,3,4,5)
var sum = arr.reduce((x,y) => x + y)
println(sum)
}
}
object Base46 {
def main(args:Array[String]):Unit = {
var arr = Array(1,20,0,14)
val max = arr.reduce((x,y) => if (x > y) x else y)
println(max)
val min = arr.reduce( )
println(min)
}
}
object Base47 {
def main(args:Array[String]):Unit = {
var arr = Array(1,2,3)
val sum1 = arr.fold(100)((x,y)=>x+y)
println(sum1)
}
}