インスタンスメソッド
contains(where:)
シーケンスに、与えられた述語を満たす要素が含まれているかどうかを示すブール値を返します。
System Swift
iOS 14.0+ iPadOS 14.0+ Mac Catalyst 14.0+
macOS 11.0+ tvOS 14.0+
visionOS 1.0+ watchOS 7.0+
func contains(where predicate: (Self.Element) throws -> Bool) rethrows -> Bool
パラメータ
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
あるいは、述語は、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 はシーケンスの長さです。
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ