文書   >   Swift   >  String   >   max(by:)
インスタンスメソッド
max(by:)
与えられた述語を要素間の比較として使用して、シーケンス内の最大の要素を返します。
宣言
rethrows -> Character?
パラメータ
areInIncreasingOrder | その最初の引数を 2 番目の引数の前に並べるべき場合には true を返す述語 (predicate)。そうでなければ、false。 |
戻り値
シーケンスが空ではない場合、シーケンスの最大要素。そうでなければ、nil。
議論
述語 (predicate) は、要素に対して 厳密に弱い順序付け でなければなりません。つまり、すべての要素 a、b、および c について、以下の条件が成り立たなければなりません。
- areInIncreasingOrder(a, a) は常に false です。(無反射性)
- areInIncreasingOrder(a, b) と areInIncreasingOrder(b, c) が共に true の時, areInIncreasingOrder(a, c) も true です。(推移比較可能性)
- 2 つの要素は、どちらも述語 (predicate) に従って他の要素の前に順序付けされていない場合、比較不可能 です。a と b が比較不可能で、b と c が比較不可能である場合、a と c も比較不可能です。(推移比較不可能性)
この例では、辞書で max(by:) メソッドを使用して、最大値を持つキー値のペアを見つける方法を示しています。
let hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156]
let greatestHue = hues.max { a, b in a.value < b.value }
print(greatestHue)
// Prints "Optional(("Heliotrope", 296))"
以下も見よ
文字の検索
func contains(Character) -> Bool
シーケンスが与えられた要素を含んでいるかどうかを示すブール値を返します。
func allSatisfy((Character) -> Bool) -> Bool
シーケンスの全ての要素が与えられた述語 (predicate) を満たすかどうか示すブール値を返します。
func contains(where: (Character) -> Bool) -> Bool
シーケンスが、与えられた述語 (predicate) を満たす要素を含んでいるかどうかを示すブール値を返します。
func first(where: (Character) -> Bool) -> Character?
与えられた述語を満たすシーケンスの最初の要素を返します。
func firstIndex(of: Character) -> String.Index?
指定した値がコレクションに現れる最初のインデックスを返します。
func firstIndex(where: (Character) -> Bool) -> String.Index?
与えられた述語を満たすコレクションの要素内の最初のインデックスを返します。
func last(where: (Character) -> Bool) -> Character?
与えられた述語を満たすシーケンスの最後の要素を返します。
func lastIndex(of: Character) -> String.Index?
指定した値がコレクション内に現れる最後のインデックスを返します。
func lastIndex(where: (Character) -> Bool) -> String.Index?
与えられた述語に一致するコレクション内の最後の要素のインデックスを返します。
シーケンス内の最大の要素を返します。
シーケンス内の最小の要素を返します。
func min(by: (Character, Character) -> Bool) -> Character?
与えられた述語を要素間の比較として使用して、シーケンス内の最小の要素を返します。
トップへ
トップへ
トップへ
トップへ