文書   >   Foundation   >   Collections   >   Set   >   contains(where:)


インスタンスメソッド


contains(where:)


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





宣言


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


パラメータ


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


戻り値


シーケンスが述語 (predicate) を満たす要素を含む場合、true。そうでなければ、false


議論


この例の HTTPResponse 列挙体のように、述語 (predicate) を使用して 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 はシーケンスの長さです。


関連





プロトコルから


以下も見よ





要素の検索

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 8.0+
  • Framework
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ