我想知道如何获得数组中某些元素的总和? 例如,这是我的数组,我只需要总结前 5 个元素:
var num = [31, 28, 31, 30, 30, 31, 30, 31, 30, 29, 31, 31]
我尝试用范围来做,但没有成功:
for I in 0..<num[5] {
.....
}
你试过使用子数组吗? 有点像
for I in num[0...4] {
//... your code here
}
也可以使用 .reduce
let total = num[0...4].reduce(0, +)
var sum = 0
for i in 0..<5 {
sum += num[i]
}
print(sum) // Output: 150
I in 0..<num[5]
不起作用,因为 num[5]
说的是“num
的第五个(0 索引)元素”。所以这就好像你写的:
for i in 0..<31 { ... }
这不是你想要的。
要遍历
num
数组的前 5 个元素,您需要先对其进行切片。这里有两种方法可以做到这一点:
求一个5元素前缀:
for i in num.prefix(5) { ... }
从头开始切片到它的第 5 个元素(在索引 4 处):
for i in num[...4] { ... }