什么高阶函数?

27 阅读1分钟

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

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

object bais01 {
  def main(args: Array[String]): Unit = {
    val arr = Array(1,2,3,4)

    val fn = (x:Int) =>x *2

    //Array表示数组,map就是它的办法
    //map 就是一个高阶函数,它的参数是一个函数的

    val arr1=arr.map(fn)

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

练习1:把(1,2,3,4,5)————>(1,4,9,16,25)

object bais01 {
  def main(args: Array[String]): Unit = {
    val arr = Array(1,2,3,4,5)

    //val fn = (x:Int) =>x *2

    //Array表示数组,map就是它的办法
    //map 就是一个高阶函数,它的参数是一个函数的

   // val arr1=arr.map(fn)
    val arr1 = arr.map(x=>x*x)

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

练习2:把(-1,2,-3,-4)————>(1,2,3,4)

object bais01 {
  def main(args: Array[String]): Unit = {
    val arr = Array(-1,2,-3,-4,5)

    //val fn = (x:Int) =>x *2

    //Array表示数组,map就是它的办法
    //map 就是一个高阶函数,它的参数是一个函数的

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

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