カスタムクラスや構造体,タプルなどの配列の最大値,最小値を取得する時に使えるmax(by:)
とmin(by:)
使い方に注意点があったので備忘録
var items: [(name: String, number: Int)] = [("banana", 234), ("apple", 423), ("grape", 142)]
let max = items.max(by: { (a, b) -> Bool in
return a.number < b.number //ここの不等号の向き要注意!
})
let min = items.min(by: { (a, b) -> Bool in
return a.number < b.number
})
Swift.print("\(max), \(min)")
// -> ("apple", 423), ("grape", 142)
※maxの時の不等号の向きに要注意です!