インスタンスメソッド


contains(where:)


与えられた述語を満たす要素がシーケンスに含まれているかどうかを示すブール値を返します。


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+

func contains(where predicate: (Character) throws -> Bool) rethrows -> Bool





パラメータ


predicate

シーケンスの要素をその引数として受け取り、渡された要素が一致を表すかどうかを示すブール値を返すクロージャ。



戻り値


シーケンスに predicate (述語) を満たす要素が含まれている場合は true。それ以外の場合は false



議論


述語を使用すると、以下の例の HTTPResponse 列挙型など、Equatable プロトコルに準拠していない型の要素をチェックできます。


  1. enum HTTPResponse {
  2. case ok
  3. case error(Int)
  4. }
  5. let lastThreeResponses: [HTTPResponse] = [.ok, .ok, .error(404)]
  6. let hadError = lastThreeResponses.contains { element in
  7. if case .error = element {
  8. return true
  9. } else {
  10. return false
  11. }
  12. }
  13. // 'hadError' == true


あるいは、述語は、一連の Equatable 要素または一般条件によって満たされることもあります。以下の例では、配列で $100 を超える出費をチェックする方法を示します。


  1. let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
  2. let hasBigPurchase = expenses.contains { $0 > 100 }
  3. // 'hasBigPurchase' == true


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















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ