【发布时间】:2019-07-09 20:44:49
【问题描述】:
我正在寻找一种方法来获取包含在数组中的类的值的总和。我的设置如下:
class CustomClass {
var value: Int?
init(value: Int) {
self.value = value
}
}
let object1 = CustomClass(value: 2)
let object2 = CustomClass(value: 4)
let object3 = CustomClass(value: 8)
let array: [CustomClass] = [object1, object2, object3]
我目前的解决方案如下:
var sumArray = [Int]()
for object in array {
sumArray.append(object.value!)
}
let sum = sumArray.reduce(0, +)
问题在于,对于具有许多其他值的类,它变得非常复杂,有人知道更好的解决方案吗?
【问题讨论】:
-
当您说“非常复杂的类具有许多其他值”时,这是否意味着您也在尝试将不同类型的类的值包含到求和运算中?
-
是的,确实如此。事实上,我的课程包含 Int 和 Date 类型,但日期类型不应该被“合并”..
-
@AndreasSchultz 到目前为止,我没有看到任何复杂的东西。您必须以某种方式将对象转换为数字(您已经在这样做了,尽管
.map会是更好的解决方案),然后将数字相加。