高阶函数

29 阅读1分钟

高阶函数:一种特殊的函数,它的参数或者返回值都是函数

eg:

 def main(args:Array[String]): Unit = {
   //定义一个数组
   val arr = Array(1,2,3,4)
    //提问:把arr中每个元素都变成自己的两倍,并返回一个新数组?

    val fn = (x:Int) => x * 2
    //Array表示数组。map就是它的方法
    //map就是一个高阶函数,它的参数就是一个函数!

    val arr1 = arr.map( fn )

    for(i <- arr1){
      println(i)
    }
  }
}

map:映射。把一个元素改成另一个元素

Array表示数组,map就是她的方法

map就是一个高阶函数,它的参数就是一个函数!

eg:

1.把(1,2,3,4,5) → (1,4,9,16,25)

2.把(-1,2-3,-4) → (1,2,3,4)

def main(args:Array[String]): Unit = {
   //定义一个数组
   val arr = Array(-1,2,-3,-4,5)  

    
    //1.val fn = (x:Int) => x * x


    val arr1 = arr.map( x => if(x >= 0) x else -x ) //2.

    for(i <- arr1){
      println(i)
    }
  }
}