インスタンスメソッド


min(by:)


要素間の比較として、与えられた述語を使用して、シーケンス内の最小の要素を返します。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+ Xcode 13.0+

@warn_unqualified_access
func
min(by areInIncreasingOrder: (UnicodeScalar, UnicodeScalar) throws -> Bool) rethrows -> UnicodeScalar?





パラメータ


areInIncreasingOrder

最初の引数が 2 番目の引数の前に順序付けされるべき場合に true を返す述語。それ以外の場合は false



戻り値


areInIncreasingOrder に基づくシーケンスの最小要素。シーケンスに要素がない場合は、nil を返します。



議論


述語は、要素に対して 厳密に弱い順序付け でなければなりません。つまり、任意の要素 a、b、c について、以下の条件が満たされなければなりません。


  • areInIncreasingOrder(a, a) は常に false です。(非再帰性)

  • areInIncreasingOrder(a, b)areInIncreasingOrder(b, c) が両方とも true の場合、areInIncreeasingOrder(a, c)true です。 (推移比較可能性)

  • 2 つの要素は、どちらも述語に従って他方より前に順序付けされていない場合、比較できませんab が比較できず、bc も比較不できない場合、ac も比較できません。(推移比較不可能性)

  • 以下の例では、辞書で min(by:) メソッドを使用して、最小値を持つキー値のペアを検索する方法を示しています。


    1. let hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156]
    2. let leastHue = hues.min { a, b in a.value < b.value }
    3. print(leastHue)
    4. // Prints "Optional((key: "Coral", value: 16))"


    複雑さ:O(n)、ここで n はシークエンスの長さです。















    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ