数组示例:
let numbers = [1, 2, 3, 4]
1️⃣ 数组求和
使用 reduce 求和的思路:
- 初始值设为 0
- 每一步累加当前元素
let sum = numbers.reduce(0) { partialResult, number in
partialResult + number
}
print(sum) // 输出 10
简写版本(更常用) :
let sum = numbers.reduce(0, +)
print(sum) // 10
2️⃣ 数组元素平方求和
思路:
- 初始值设为 0
- 每一步累加当前元素的平方
let sumOfSquares = numbers.reduce(0) { partialResult, number in
partialResult + number * number
}
print(sumOfSquares) // 输出 30
✅ 总结:
reduce初始值 + 闭包定义如何累计reduce(0, +)是求和的经典简写- 可以通过闭包灵活地实现任意累计逻辑(比如平方求和、阶乘、数组拼接等)