文書   >   Swift   >   Dictionary   >   contains(where:)
インスタンスメソッド
contains(where:)
与えられた述語 (predicate) を満たす要素がシーケンスに含まれているかどうかを示すブール値を返します。
宣言
パラメータ
predicate | シーケンスの要素をその引数として受け取り、渡された要素が一致を表すかどうかを示すブール値を返すクロージャ。 |
戻り値
シーケンスに predicate (述語) を満たす要素が含まれる場合は true。それ以外の場合は false。
議論
述語 (predicate) を使用して、この例の HTTPResponse 列挙型など、Equatable プロトコルに準拠しない型の要素をチェックできます。
enum HTTPResponse {
case ok
case error(Int)
}
let lastThreeResponses: [HTTPResponse] = [.ok, .ok, .error(404)]
let hadError = lastThreeResponses.contains { element in
if case .error = element {
return true
} else {
return false
}
}
// 'hadError' == true
また、述語 (predicate) は、Equatable な要素の範囲または一般的な条件で満たすことができます。この例は、$100 を超える費用が配列にあるかをチェックする方法を示しています。
let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
let hasBigPurchase = expenses.contains { $0 > 100 }
// 'hasBigPurchase' == true
複雑さ:O(n)、ここで n はシーケンスの長さです。
以下も見よ
要素の検索
func allSatisfy(((key: Key, value: Value)) -> Bool) -> Bool
シーケンスのすべての要素が与えられた述語 (predicate) を満たすかどうかを示すブール値を返します。
func first(where: ((key: Key, value: Value)) -> Bool) -> (key: Key, value: Value)?
与えられた述語 (predicate) を満たすシーケンスの最初の要素を返します。
func firstIndex(where: ((key: Key, value: Value)) -> Bool) -> Index?
コレクションの要素が与えられた述語 (predicate) を満たす最初のインデックスを返します。
与えられた述語 (predicate) を要素間の比較として使用して、シーケンス内の最小要素を返します。
与えられた述語 (predicate) を要素間の比較として使用して、シーケンス内の最大要素を返します。
トップへ
トップへ
トップへ
トップへ
トップへ