Bird
Raised Fist0
Swiftprogramming~10 mins

Array iteration and enumerated in Swift - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Array iteration and enumerated
Start with array
↓
Begin iteration
↓
Get index and element
↓
Use index and element
↓
Move to next element
↓
More elements?
Yes→Repeat
No↓
End iteration
This flow shows how Swift goes through each item in an array, getting both the position (index) and the value (element) to use inside the loop.
Execution Sample
Swift
let fruits = ["Apple", "Banana", "Cherry"]
for (index, fruit) in fruits.enumerated() {
    print("\(index): \(fruit)")
}
This code loops over the fruits array, printing each fruit with its index.
Execution Table
StepindexfruitActionOutput
10"Apple"Print index and fruit0: Apple
21"Banana"Print index and fruit1: Banana
32"Cherry"Print index and fruit2: Cherry
4--No more elements, loop ends-
💡 After index 2, no more elements in array, loop stops
Variable Tracker
VariableStartAfter 1After 2After 3Final
index-012-
fruit-"Apple""Banana""Cherry"-
Key Moments - 3 Insights
Why does the index start at 0 instead of 1?
In Swift arrays, counting starts at 0 by design. The execution_table shows index starting at 0 in step 1, which is normal for array positions.
What does enumerated() do exactly?
enumerated() pairs each element with its index. The execution_table rows show both index and fruit together, proving enumerated() gives both.
What happens if the array is empty?
If the array is empty, the loop body never runs. The exit_note explains the loop ends immediately when no elements exist.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the fruit at step 2?
A"Banana"
B"Apple"
C"Cherry"
DNo fruit
💡 Hint
Check the 'fruit' column in row with Step 2 in execution_table
At which step does the loop stop because there are no more elements?
AStep 3
BStep 4
CStep 2
DStep 1
💡 Hint
Look at the exit_note and the last row in execution_table
If the array had 4 fruits, how many steps would the execution_table have before stopping?
A4 steps
B3 steps
C5 steps
D6 steps
💡 Hint
Notice the pattern: number of elements + 1 exit step in execution_table
Concept Snapshot
Swift array iteration with enumerated():
- Use for (index, element) in array.enumerated() to get index and value
- Index starts at 0
- Loop runs once per element
- Loop ends when no more elements
- Useful for position-aware processing
Full Transcript
This visual shows how Swift loops over an array using enumerated(). The loop starts with index 0 and the first fruit, then moves to the next index and fruit, printing each pair. When all fruits are processed, the loop ends. The variable tracker shows how index and fruit change each step. Common confusions include why index starts at 0 and what enumerated() does. The quiz checks understanding of the steps and loop end.

Practice

(1/5)
1. What does the enumerated() method do when used on an array in Swift?
easy
A. It provides both the index and the value of each element during iteration.
B. It reverses the order of the array elements.
C. It filters out duplicate elements from the array.
D. It sorts the array in ascending order.

Solution

  1. Step 1: Understand the purpose of enumerated()

    The enumerated() method returns a sequence of pairs (index, value) for each element in the array.
  2. Step 2: Identify what is returned during iteration

    Each iteration gives you the position (index) and the element itself (value), allowing you to use both.
  3. Final Answer:

    It provides both the index and the value of each element during iteration. -> Option A
  4. Quick Check:

    enumerated() = index + value [OK]
Hint: Remember: enumerated() gives index and item together [OK]
Common Mistakes:
  • Thinking enumerated() changes array order
  • Believing enumerated() filters or sorts elements
  • Confusing enumerated() with map or filter
2. Which of the following is the correct syntax to iterate over an array fruits using enumerated() in Swift?
easy
A. for (index, fruit) in fruits.enumerated() { print(index, fruit) }
B. for index, fruit in fruits { print(index, fruit) }
C. for index, fruit in fruits.enumerated { print(index, fruit) }
D. for (fruit, index) in fruits.enumerated() { print(index, fruit) }

Solution

  1. Step 1: Check the correct use of enumerated()

    The method enumerated() must be called with parentheses to return the sequence.
  2. Step 2: Verify tuple unpacking syntax

    The for loop must unpack the tuple as (index, value) in parentheses.
  3. Final Answer:

    for (index, fruit) in fruits.enumerated() { print(index, fruit) } -> Option A
  4. Quick Check:

    Correct syntax = for (index, fruit) in fruits.enumerated() { print(index, fruit) } [OK]
Hint: Use parentheses with enumerated() and tuple unpacking [OK]
Common Mistakes:
  • Omitting parentheses after enumerated()
  • Swapping index and value order in tuple
  • Trying to unpack without parentheses
3. What will be the output of the following Swift code?
let animals = ["cat", "dog", "bird"]
for (i, animal) in animals.enumerated() {
    print("\(i): \(animal)")
}
medium
A. cat: 0 dog: 1 bird: 2
B. 1: cat 2: dog 3: bird
C. 0: cat 1: dog 2: bird
D. cat dog bird

Solution

  1. Step 1: Understand enumerated() output

    enumerated() gives index starting at 0 and the element value.
  2. Step 2: Trace the print statements

    Each line prints index, colon, space, then the animal name.
  3. Final Answer:

    0: cat 1: dog 2: bird -> Option C
  4. Quick Check:

    Index starts at 0, prints index: value [OK]
Hint: Indexes start at 0 unless adjusted [OK]
Common Mistakes:
  • Assuming index starts at 1
  • Printing value before index
  • Ignoring the colon and space formatting
4. Identify the error in the following Swift code snippet:
let numbers = [10, 20, 30]
for index, value in numbers.enumerated {
    print(index, value)
}
medium
A. print statement syntax is invalid.
B. Incorrect variable names in the for loop.
C. Array declaration syntax is wrong.
D. Missing parentheses after enumerated() method call.

Solution

  1. Step 1: Check method call syntax

    The method enumerated must be called with parentheses: enumerated().
  2. Step 2: Verify other parts of the code

    Variable names and array declaration are correct; print syntax is valid.
  3. Final Answer:

    Missing parentheses after enumerated() method call. -> Option D
  4. Quick Check:

    enumerated() needs () [OK]
Hint: Always add () after enumerated [OK]
Common Mistakes:
  • Forgetting parentheses after enumerated
  • Swapping index and value order
  • Using wrong print syntax
5. Given an array scores = [85, 92, 78, 90], write Swift code using enumerated() to print each score with its position starting from 1, like "Player 1: 85". Which code snippet correctly does this?
hard
A. for score in scores { print("Player \(score): \(score)") }
B. for (index, score) in scores.enumerated() { print("Player \(index + 1): \(score)") }
C. for (index, score) in scores.enumerated() { print("Player \(index): \(score)") }
D. for (score, index) in scores.enumerated() { print("Player \(index + 1): \(score)") }

Solution

  1. Step 1: Use enumerated() to get index and score

    enumerated() returns (index, value) tuples; index starts at 0.
  2. Step 2: Adjust index to start from 1 in print

    Add 1 to index when printing to start counting players from 1.
  3. Final Answer:

    for (index, score) in scores.enumerated() { print("Player \(index + 1): \(score)") } -> Option B
  4. Quick Check:

    Index + 1 for counting players [OK]
Hint: Add 1 to index to start counting from 1 [OK]
Common Mistakes:
  • Printing index without adding 1
  • Swapping index and value in tuple
  • Using wrong tuple unpacking order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard