从特定元素添加数组中的快速求和数字

时间:2018-11-27 03:00:27

标签: arrays swift sum

假设我在如下数组中有一些数字

let numberArray = [1, 3, 4, 6, 9, 14, 16]

我知道如何使用reduce方法将它们加起来,但是如何从特定元素开始加数字。例如:

//Sum all up by reduce
let sumAll = numberArray.reduce(0, +)
//sumAll = 53 

//I want to start counting from the fourth element in the array which is 6
//so the total should be 45. [6 + 9 + 14 + 16]

我应该使用什么方法来实现这一目标?
提前致谢。

2 个答案:

答案 0 :(得分:6)

您可以使用dropFirst(_:)或使用范围作为索引。

如果它不是固定数字,则可以首先使用firstIndex(of:)确定要从何处开始的索引。

numberArray.dropFirst(3).reduce(0, +)
numberArray[3...].reduce(0, +)

答案 1 :(得分:2)

在所需的子阵列上运行reduce

let numberArray = [1, 3, 4, 6, 9, 14, 16]
let sum = numberArray[3...].reduce(0, +)