一: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)
待续...