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