Swift 4 reduce函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qin_shi/article/details/82378961

概述

用于做序列元素的累加,如数组元素的累加。

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)

猜你喜欢

转载自blog.csdn.net/qin_shi/article/details/82378961