数组中某些元素的总和

问题描述 投票:0回答:3

我想知道如何获得数组中某些元素的总和? 例如,这是我的数组,我只需要总结前 5 个元素:

var num = [31, 28, 31, 30, 30, 31, 30, 31, 30, 29, 31, 31]

我尝试用范围来做,但没有成功:

for I in 0..<num[5] {
  .....
}
arrays swift for-in-loop
3个回答
1
投票

你试过使用子数组吗? 有点像

for I in num[0...4] {
  //... your code here
}

也可以使用 .reduce

let total = num[0...4].reduce(0, +)

0
投票
var sum = 0
for i in 0..<5 {
    sum += num[i]
}

print(sum) // Output: 150

0
投票

I in 0..<num[5]
不起作用,因为
num[5]
说的是“
num
的第五个(0 索引)元素”。所以这就好像你写的:

for i in 0..<31 { ... }

这不是你想要的。

要遍历

num
数组的前 5 个元素,您需要先对其进行切片。这里有两种方法可以做到这一点:

  1. 求一个5元素前缀:

    for i in num.prefix(5) { ... }
    
  2. 从头开始切片到它的第 5 个元素(在索引 4 处):

    for i in num[...4] { ... }
    
© www.soinside.com 2019 - 2024. All rights reserved.