什么是最简单(最好)的方法来找到一个数组的整数和在swift? 我有一个数组叫multiples我想知道这些倍数的和。


当前回答

斯威夫特3、4、5

使用减少:

let totalamount = yourTransactionsModelArray.reduce(0) { $0 + $1.amount}

老式的理解方法:

for (var i = 0; i < n; i++) {
 sum = sum + Int(multiples[i])!
}

//where n =数组中元素的个数

其他回答

保持简单……

var array = [1, 2, 3, 4, 5, 6, 7, 9, 0]
var n = 0
for i in array {
    n += i
}
print("My sum of elements is: \(n)")

输出:

元素的和是:37

另一种简单的方法:

let sumOfMultiples = ar.reduce(0) { x, y in x + y }          
print(sumOfMultiples)

这也是可行的:

let arr = [1,2,3,4,5,6,7,8,9,10]
var sumedArr = arr.reduce(0, combine: {$0 + $1})
print(sumedArr)

结果是:55

这是我能找到的最简单/最短的方法。

Swift 3和Swift 4:

let multiples = [...]
let sum = multiples.reduce(0, +)
print("Sum of Array is : ", sum)

斯威夫特2:

let multiples = [...]
sum = multiples.reduce(0, combine: +)

更多信息:

这使用了Array的reduce方法(这里有文档),该方法允许你“通过递归应用提供的闭包将元素集合减少到单个值”。我们给它0作为初始值,然后,本质上,闭包{$0 + $1}。当然,我们可以将其简化为一个加号,因为Swift就是这样运行的。

@IBOutlet var valueSource: [MultipleIntBoundSource]!

private var allFieldsCount: Int {
    var sum = 0
    valueSource.forEach { sum += $0.count }
    return sum
}

用于嵌套参数