文書  >   Swift   >   Swift 標準ライブラリ   >   Collections   >   KeyValuePairs   >   min(by:)
インスタンスメソッド
min(by:)
与えられた述語 (predicate) を要素間の比較として使用して、シーケンス内の最小の要素を返します。
宣言
パラメータ
areInIncreasingOrder | その最初の引数をその 2 番目の引数の前に並べるべき場合に true を返す述語 (predicate)。それ以外の場合は false。 |
戻り値
areInIncreasingOrder によるシーケンスの最小要素。シーケンスに要素がない場合、nil を返します。
議論
述語 (predicate) は、要素に対して 厳密に弱い順序 でなければなりません。つまり、任意の要素 a、b、および c について、以下の条件が満たされなければなりません。
- areInIncreasingOrder(a, a) は、常に falseです。(非再帰性)
- areInIncreasingOrder(a, b) と areInIncreasingOrder(b, c) が共に true の場合, areInIncreasingOrder(a, c) も true です。(移行比較可能性)
- どちらも述語 (predicate) に従って他の要素より前に順序付けられていない場合、2 つの要素は 比較できません。a と b が比較不可能で、b と c が比較不可能の場合、a と c も比較できません。(推移的比較不能性)
この例は、辞書上で min(by:) メソッドを使用して、最小値を持つキー値のペアを見つける方法を示しています。
let hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156]
let leastHue = hues.min { a, b in a.value < b.value }
print(leastHue)
// Prints "Optional(("Coral", 16))"
複雑さ:O(n)、ここで n はシーケンスの長さです。
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)