Start learning free

LESSON 114 OF 678 · ARRAYS I

Checking an Array for a Value in Swift

Lesson

TL ; DR:

arr.contains(x) is true when the array holds x, and false when it doesn't. Use it as the condition of an if.


let colors = ["red", "green", "blue"]

print(colors.contains("red"))    // true
print(colors.contains("pink"))   // false

if !colors.contains("pink") {
    print("No pink yet")
}


Full lesson:

Often you need to know if an array holds some value. Is this name on the guest list? Is this item in the cart?

contains(x) answers that. It compares each item with x, from the first one on. It returns true as soon as one matches, or false if none does.

Put ! in front for the opposite. So !colors.contains(x) is true when x is missing.

The answer is a Bool, so it fits right into an if:

let cart = ["milk", "bread"]

if cart.contains("milk") {
    print("Milk is in the cart")
}

As with any Swift if, the condition needs no parentheses. The ! goes right before the array's name.

Text must match exactly. So colors.contains("Red") is false, because the array has "red".


Your task

bag holds what is packed for a hike.

If "water" is in bag, print Water is packed. If "tent" is not in bag, print Pack a tent.

Expected output:

Water is packed
Pack a tent
STEP 1 OF 2
    Ctrl + Enter to check