概述
用于做序列元素的累加,如数组元素的累加。
func reduce<Result>(_ initialResult: Result, _ nextPartialResult: (Result, Element) throws -> Result) rethrows -> Result
initialResult为初始化的值,也是闭包Result第一次运行的值,Element就是要做处理的元素,处理后返回Result作为下次闭包的参数。
例子
let numbers = [1, 2, 3, 4]
let numberSum = numbers.reduce(0, { x, y in
x + y
})
输出为:10
我们初始化了一个initialResult为0,对元素做相加,每次相加后的结果作为下次闭包的参数,y就是数组的每个元素。
此函数时间复杂度为O(n)