How to compare one value against multiple values - Swift

Let's say that you have the code

if stringValue == "ab" || stringValue == "bc" || stringValue == "cd" {
    // do something
}

Is there a way to shorten this condition or beautify it (preferably without using the switch statement)? I know that this code does NOT work:

if stringValue == ("ab" || "bc" || "cd") {
    // do something
}

I've seen some complex solutions on other languages, but they seem language specific and not applicable to Swift. Any solutions would be appreciated.


let valuesArray = ["ab","bc","cd"]

valuesArray.contains(str) // -> Bool

You can create an extension like this:

extension Equatable {
    func oneOf(other: Self...) -> Bool {
        return other.contains(self)
    }
}

and use it like this:

if stringValue.oneOf("ab", "bc", "cd") { ... }

Credit for the impl which saved me typing it: https://gist.github.com/daehn/73b6a08b062c81d8c74467c131f78b55/