在 Swift 3 中,我们如何计算 Int 数组中每 5 个元素的总和。
例如,我们有一个数组 [1,2,3,4,5,6,7,8,9,0,12,23]
1+2+3+4+5 = 15
6+7+8+9+0 = 30
12+23+0+0+0 = 35
结果是这样的 [15,30,35]
这是我在playgroud中的解决方案:
//: Playground - noun: a place where people can play
import UIKit
var arr = [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3]
let chunkSize = 5
let chunks = stride(from: 0, to: arr.count, by: chunkSize).map {
Array(arr[$0..<min($0 + chunkSize, arr.count)])
}
print(chunks)
var summ = chunks.map { $0.reduce(0, {$0 + $1}) }
print(summ)
输出:
[[1
, 1, 1, 1, 1], [2, 2, 2, 2, 2], [3, 3, 3, 3, 3]][5, 10, 15]
看看:查找 Swift 数组中的元素总和