什么是最简单(最好)的方法来找到一个数组的整数和在swift? 我有一个数组叫multiples我想知道这些倍数的和。
当前回答
对我来说,这就像使用财产
let blueKills = match.blueTeam.participants.reduce(0, { (result, participant) -> Int in
result + participant.kills
})
其他回答
Swift 4示例
class Employee {
var salary: Int = 0
init (_ salary: Int){
self.salary = salary
}
}
let employees = [Employee(100),Employee(300),Employee(600)]
var sumSalary = employees.reduce(0, {$0 + $1.salary}) //1000
用于对象数组中元素的和
self.rankDataModelArray.flatMap{$0.count}.reduce(0, +)
斯威夫特3
如果你有一个通用对象的数组,你想对一些对象属性求和,那么:
class A: NSObject {
var value = 0
init(value: Int) {
self.value = value
}
}
let array = [A(value: 2), A(value: 4)]
let sum = array.reduce(0, { $0 + $1.value })
// ^ ^
// $0=result $1=next A object
print(sum) // 6
尽管for-cycle的形式较短,但很多时候你可能更喜欢经典的for-cycle:
let array = [A(value: 2), A(value: 4)]
var sum = 0
array.forEach({ sum += $0.value})
// or
for element in array {
sum += element.value
}
另一种简单的方法:
let sumOfMultiples = ar.reduce(0) { x, y in x + y }
print(sumOfMultiples)
Swift3已更改为:
let multiples = [...]
sum = multiples.reduce(0, +)