Swift高阶函数简述

一: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)

待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容