我有一个数据点数组,具有x和y值:
struct DataPoint: Identifiable, Hashable {
let x: Double
let y: Double
var id: String { String(x/y) }
}
我正在try 获得与最大y值相对应的x值.我正在使用此命令,但有时会出现超出范围的错误:
let dataPoints: [DataPoint] = await calculateDataPoints()
if let index = dataPoints.indices.max(by: { dataPoints[$0].y < dataPoints[$1].y }) {
return dataPoints[index].x
}
calculateDataPoints()
是一个异步函数.
也许还有其他方法可以做到这一点呢?