4
如果我有一個結構......獲取元素,最大財產陣列
struct MyStruct {
let number: Int
}
,我有他們的數組...
var array = [MyStruct]()
// populate array with MyStructs
然後,我可以做到這一點,以獲得最大number
...
var maxNumber = 0
for tempStruct in array where tempStruct.number > maxNumber {
maxNumber = tempStruct.number
}
但是,我不能使用...
let maxStruct = array.maxElement()
因爲MyStruct
沒有可比性。我可以使它具有可比性,但是我可能還會有一個我希望通過比較的日期戳,以便使它成爲Comparable並不理想。
有沒有另一種方法可以做到這一點,更優雅?
....
我只是想,我也能做到這一點...
let maxStruct = array.sort{$0.number > $1.number}.first()
這將需要花費更多的時間。我不確定它使用哪種排序方法,但它可能是n log(n)
,而我的初始方法將只是n
。
啊!太棒了,我不知道我可以這樣使用'maxElement()'。謝謝 – Fogmeister