Swift 3 - Reduce a collection of objects by an Int property

柔情痞子 提交于 2019-12-05 12:42:12
var total = arr.reduce(0, {$0 + $1.distance!})

The first argument is the accumulator, it is already an integer.

Note that this will crash on elements without distance. You could fix that e.g. using:

let total = arr.reduce(0, {$0 + ($1.distance ?? 0)})

or

let total = arr.compactMap { $0.distance }.reduce(0, +)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!