Instance MethodSwift


    Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.

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



    A closure that takes an element of the sequence as its argument and returns a Boolean value that indicates whether the passed element represents a match.


    true if the sequence contains an element that satisfies predicate; otherwise, false.


    You can use the predicate to check for an element of a type that doesn’t conform to the Equatable protocol, such as the HTTPResponse enumeration in this example.

    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

    Alternatively, a predicate can be satisfied by a range of Equatable elements or a general condition. This example shows how you can check an array for an expense greater than $100.

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