当前位置: 代码迷 >> 综合 >> Day:13:高阶函数
  详细解决方案

Day:13:高阶函数

热度:106   发布时间:2023-09-29 19:04:12.0
  • 高阶函数 map
  1. 对于原始集合里的每一个元素,以一个变换后的元素替换之形成一个新的集合。
  • 高阶函数 filter
  1. 对于原始集合里的每一个元素,通过判定来将其丢弃或者放进新集合。
  • 高阶函数 reduce
  1. 对于原始集合里的每一个元素,作用当前积累的结果。
  • 高阶函数 flatMap
  1. 对于元素是集合的集合,可以得到单级的集合。
  • compactMap
  1. 过滤空值
  • 【代码演示】
    
    //1、map
    let numbers = [1,2,3,4,5,10]
    print(numbers.map{$0 * 10})//结果:[10, 20, 30, 40, 50, 100]
    //2、filter
    print(numbers.filter{$0 > 4})//结果:[5, 10]
    //3、reduce
    print(numbers.reduce(100){$0 + $1})//结果:125
    //4、flatMap
    let arrayNumbers = [[1,2,3],[4,5,6],[7,8,9]]
    print(arrayNumbers.flatMap{$0.map{$0 * 10}})
    //结果:[10, 20, 30, 40, 50, 60, 70, 80, 90]
    //5、compact
    let nickArray:[String?] = ["zhangsan","lisi",nil,"wangwu",nil]
    print(nickArray.count)//结果:5
    print(nickArray.compactMap{ $0 })//结果:["zhangsan", "lisi", "wangwu"]
    print(nickArray.compactMap{ $0?.count })//结果:[8, 4, 6]

  相关解决方案