swift高阶函数

190 阅读1分钟

1map

map 其实就相当于对数组的每一个元素遍历并做转换

  let numbers = [1,2,3,4,5]

  let sum = numbers.map({$0+1})// map转换

   print(sum)

输出结果为 [2,3,4,5,6]

2filter

过滤

 letnumbers = [1,2,3,4,5]

 letsum = numbers.filter({$0>3})

 print(sum)

输出结果 [4,5]

3flatMap

在map的基础上加了新的东西,会拆包

 let numbers = [1,2,nil,4,5]

 let sum = numbers.flatMap({$0})

 print(sum)

输出[1,2,4,5]

也可以

let numbers = [[1,2],[4,5]]

 let sum = numbers.flatMap({$0})//我理解为降维

 print(sum)

输出[1,2,4,5]

reduce 归纳

let numbers = [1,2,4,5]

 let sum = numbers.reduce(0, +))

//reduce(0){return0+0+1}//这种写法也可以

 print(sum)

输出12