【发布时间】:2017-07-27 13:59:08
【问题描述】:
我有一个对象数组:
struct Person {
let name: String
let dateOfBirth: Date
let money: Double
}
它包含人员以及他们收到或花费了多少钱。 该数组包含 54 个这样的对象。 我需要找到所有具有相同名称和日期字段的对象并将它们的钱相加。也就是说,最后,我必须在我的数组中获得少于 54 条记录。
示例: 在数组中,对象 John 有 3 条记录。例如,首先,他收到 15.0 美元,然后花费 7.0 美元,然后收到 4.0 美元。对于我的任务,我需要在数组中有 1 条记录而不是 3 条(资金为 12.0 美元)
有人知道吗?
【问题讨论】:
-
(offtopic) 我真的建议用
Decimal而不是Double来表示货币值,否则在对值求和时会开始失去精度。 -
@Sulthan,谢谢你的建议,但这只是一个例子,我不使用它