【发布时间】:2017-02-02 14:38:25
【问题描述】:
假设我有以下结构:
struct LogInfo {
var logNumber: Int
var species: String
var diameter: Float
var formClass: Int
var numLogs: Float
var boardFootage: Double
}
它由以下内容填充:
var logInfoArray = [LogInfo]()
logInfoArray.append(LogInfo(logNumber: 1, species: "Spruce", diameter: 18.0, formClass: 78, numLogs: 1.5, boardFootage: 110.0))
logInfoArray.append(LogInfo(logNumber: 2, species: "Spruce", diameter: 17.0, formClass: 78, numLogs: 1.0, boardFootage: 90.0))
logInfoArray.append(LogInfo(logNumber: 3, species: "Pine", diameter: 18.0, formClass: 78, numLogs: 1.5, boardFootage: 89.0))
logInfoArray.append(LogInfo(logNumber: 4, species: "Pine", diameter: 21.0, formClass: 78, numLogs: 1.0, boardFootage: 120.0))
logInfoArray.append(LogInfo(logNumber: 5, species: "Pine", diameter: 19.0, formClass: 78, numLogs: 1.5, boardFootage: 200.0))
logInfoArray.append(LogInfo(logNumber: 6, species: "Oak", diameter: 22.0, formClass: 78, numLogs: 2, boardFootage: 180.0))
我将如何对这些条目执行一些数组函数?
例如 - 我想弄清楚阵列中有多少独特的物种,并最终得到一个包含每个物种的新阵列。
i.e. var speciesArray = ["Spruce", "Pine", "Oak"]
我还希望能够根据这些情况进行一些计算。比如,统计所有以“Pine”为物种的条目的总董事会镜头值。
有人对我如何解决这个问题有一些建议吗?
提前谢谢你!
【问题讨论】:
-
对于静态数据,使用数组字面量 (
logInfoArray = [LogInfo(...), LogInfo(...), ... LogInfo(...)]) 比创建一个反复追加的可变数组要好得多。
标签: arrays swift function struct swift2