【问题标题】:struct arguments - array结构参数 - 数组
【发布时间】:2016-06-11 18:28:51
【问题描述】:

这是一个简单的代码:

struct Car {
    var model: String
    var producer: String
    var year: Int
}

func AverageYear(years : [Int]) -> Int {
    var x : Int = 0
    for i in 0..<years.count {
        x += years[i]
    }
    return x / years.count
}

var list = [Car(model: "C400", producer: "Mercedes-benz", year: 2014),
            Car(model: "GLE450", producer: "Mercedes-benz", year: 2016)]

print(AverageYear([list[0].year, list[1].year]))

如何在不枚举所有元素的情况下替换 AverageYear([list[0].year, list[1].year])?类似AverageYear([list.year])

【问题讨论】:

  • “不枚举”是什么意思?无论是for 循环还是map,您都必须以一种或另一种方式枚举数组以获得一个年份数组。

标签: arrays swift struct


【解决方案1】:

您可以使用 ma​​p 从给定的汽车数组中构造年份数组,如下所示:

var list = [Car(model: "C400", producer: "Mercedes-benz", year: 2014),
            Car(model: "GLE450", producer: "Mercedes-benz", year: 2016)]

let years = list.map { $0.year }
print(AverageYear(years))

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多