Swift高阶函数简述

2017-10-20  本文已影响12人  木马不在转

一:Map

1.使用场景:map用于将每个数组元素通过某个方法进行转换。
2.案 例:比如把一个int数组里的每一个数字*4

let numbers = [20, 19, 7, 12]
let mappedNumbers = numbers.map({ number in 4 * number })
print(mappedNumbers)

二:Filter

1.使用场景:filter用于选择数组元素中满足某种条件的元素。
2.案 例:筛选出numbers里大于10元素,结果应该是[20,19,12]

filteredArray = moneyArray.filter({$0 > 10})

三:Reduce

1.使用场景:reduce方法把数组元素组合计算为一个值。
2.案 例:计算numbers数组元素的和

let sum = moneyArray.reduce(0,{$0 + $1})

//Swift中操作符可用着函数,可简化成:
let sum = moneyArray.reduce(0,+)

Reduce可能是三个高阶函数中最难理解的一个。 需要注意的是combine函数的两参数类型不同,$0为计算结果类型,$1为数组元素类型。

四:sorted

1.使用场景:根据条件排序
2.案 例:将numbers数组元素又大到小重新排序

let sortedNumbers = numbers.sorted { $0 > $1 }
print(sortedNumbers)

待续...

上一篇 下一篇

猜你喜欢

热点阅读