【问题标题】:Swift - add up values of struct array [duplicate]Swift - 将结构数组的值相加[重复]
【发布时间】:2019-04-30 19:37:21
【问题描述】:

我的目的是将结构数组的值的所有输入相加。我以前做过,但使用的是普通数组:let total = array.reduce(0, +)

假设这是我的结构:

struct addDataStruct: Codable {
    var driven: Int
    var date: Date
    var consumedL: Double
    var pricePerLiter: Double
}

这是我的数组:

var addDataArray: [addDataStruct] = []

func createStructArray() {
        let addData: addDataStruct = addDataStruct(driven: ..., date: Date(), consumedL: ..., pricePerLiter: ...)
        addDataArray.append(addData)
    }

如何将驱动的所有值相加?

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    你可以试试

    let total = array.lazy.map{ $0.driven }.reduce(0, +)
    

    let total = array.reduce(0, { $0 + $1.driven })
    

    【讨论】:

    • 跳过中间数组生成。你不需要它:) let total = array.lazy.map{ $0.driven }.reduce(0, +)
    • array.reduce(0, { $0 + $1.driven }
    • @Alexander 我同意这是明智的做法
    • @MartinR 是的,这是另一种捷径
    猜你喜欢
    • 2020-03-31
    • 2021-07-15
    • 2020-03-25
    • 1970-01-01
    • 2020-04-08
    • 2016-11-04
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多