Swift reduce 函数

开发者 2024-10-6 05:38:03 56 0 来自 中国
reduce

Swift中数组的reduce方法用于做序列元素的累加,如数组元素的累加, 函数原型:
@inlinable public func reduce<Result>(_ initialResult: Result, _ nextPartialResult: (Result, Element) throws -> Result) rethrows -> Result参数:

  • initialResult: 初始值, The value to use as the initial accumulating value. initialResult is passed to nextPartialResult the first time the closure is executed.
  • nextPartialResult: 下一次累加的基准值
示例:
var arr = [1, 2, 3, 4, 5, 6, 7, 8]/// initialResult: Result 初始值;/// nextPartialResult:(Result, Int) 下一轮盘算值, Result = initialResult + Int/// Result是每轮盘算的返回值(效果), Int 是数组元素/// -> Result 返回值/// `arr.reduce(initialResult: Result, nextPartialResult: (Result, Int) throws -> Result(Result, Int) throws -> Result>)`var sum = arr.reduce(100) { partialResult, value in    print("\(value) --> \(partialResult)")    return partialResult + value // return 可省略}// 初始值是100,第一步就是:// 100 + 1// 再把2加上 --> 100 + 1 + 2// 再把3加上 --> 100 + 1 + 2 + 3// ...print(sum) // 136固然,也有好吃的语法糖,效果是一样的:
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-24 10:17, Processed in 0.145441 second(s), 33 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表