Bird
Raised Fist0
Swiftprogramming~10 mins

Array iteration and enumerated in Swift - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print each element in the array.

Swift
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in [1] {
    print(fruit)
}
Drag options to blanks, or click blank then click option'
Afruits
Bfruit
Carray
Ditems
Attempts:
3 left
💡 Hint
Common Mistakes
Using the loop variable name instead of the array name.
Using a variable name that is not declared.
2fill in blank
medium

Complete the code to print the index and value of each element using enumerated().

Swift
let colors = ["Red", "Green", "Blue"]
for (index, color) in colors.[1]() {
    print("\(index): \(color)")
}
Drag options to blanks, or click blank then click option'
Aenumerated
Benumerate
Cindexed
Ditems
Attempts:
3 left
💡 Hint
Common Mistakes
Using a method name that does not exist like 'enumerate' or 'indexed'.
Forgetting the parentheses after the method name.
3fill in blank
hard

Fix the error in the loop to correctly access index and value.

Swift
let numbers = [10, 20, 30]
for ([1], value) in numbers.enumerated() {
    print("Index: \([1]), Value: \(value)")
}
Drag options to blanks, or click blank then click option'
Ai
Bvalue
Cnum
Dindex
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names for the index in the loop and print statement.
Using the value variable name instead of index.
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths as values, filtering words longer than 4 letters.

Swift
let words = ["apple", "dog", "banana", "cat"]
let wordLengths = [[1]: [2] for word in words where word.count > 4]
Drag options to blanks, or click blank then click option'
Aword
Bword.count
Cword.length
Dcount
Attempts:
3 left
💡 Hint
Common Mistakes
Using word.length which is not valid in Swift.
Using a variable name not declared.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase words as keys, their lengths as values, filtering words with length greater than 3.

Swift
let words = ["sun", "moon", "star", "sky"]
let result = [[1]: [2] for word in words where [3]]
Drag options to blanks, or click blank then click option'
Aword.uppercased()
Bword.count
Cword.count > 3
Dword.lowercased()
Attempts:
3 left
💡 Hint
Common Mistakes
Using word.lowercased() instead of uppercase.
Using incorrect filter condition.

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