Bird
Raised Fist0
Javascriptprogramming~5 mins

Iterating over arrays in Javascript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the simplest way to loop through all elements in an array in JavaScript?
Using a for loop with an index to access each element one by one.
Click to reveal answer
beginner
How does the forEach method work on arrays?
It runs a function once for each element in the array, giving you access to the element and its index.
Click to reveal answer
intermediate
What is the difference between for...of and for...in when iterating arrays?
for...of loops over the values (elements) of the array, while for...in loops over the keys (indexes). For arrays, for...of is usually preferred.
Click to reveal answer
intermediate
Can you modify the original array elements inside a forEach loop?
Yes, if you access the array by index inside the forEach callback, you can change elements. But changing the parameter directly won't affect the array.
Click to reveal answer
intermediate
What happens if you use break inside a forEach loop?
break does not work inside forEach. To stop early, use a regular for loop or for...of loop.
Click to reveal answer
Which loop is best to use if you want to stop iterating an array early?
Afor loop
BforEach method
Cmap method
Dfilter method
What does the for...of loop iterate over in an array?
AProperties
BIndexes
CKeys and values
DValues
Which method runs a function on each array element but does NOT return a new array?
AforEach
Bfilter
Cmap
Dreduce
What will this code output?
const arr = [1,2,3]; arr.forEach((x, i) => arr[i] = x * 2); console.log(arr);
A[1, 2, 3]
B[2, 4, 6]
C[undefined, undefined, undefined]
DError
Which loop is NOT recommended for arrays because it iterates over all enumerable properties?
Afor loop
Bfor...of
Cfor...in
DforEach
Explain three different ways to iterate over an array in JavaScript and when you might use each.
Think about control flow and readability.
You got /4 concepts.
    Describe why you cannot use break inside a forEach loop and what you can do instead to stop iteration early.
    Consider how forEach is a function call.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which of the following is the correct way to iterate over all elements in an array arr using for...of?
      easy
      A. arr.forEach(item => console.log(item));
      B. for (let i = 0; i < arr.length; i++) { console.log(arr[i]); }
      C. for (const i in arr) { console.log(arr[i]); }
      D. for (const item of arr) { console.log(item); }

      Solution

      1. Step 1: Understand for...of syntax

        The for...of loop directly accesses each element in the array, not the index.
      2. Step 2: Identify the correct loop structure

        for (const item of arr) { console.log(item); } uses for (const item of arr), which correctly iterates over elements.
      3. Final Answer:

        for (const item of arr) { console.log(item); } -> Option D
      4. Quick Check:

        for...of loops over elements = C [OK]
      Hint: Use for...of to get elements directly [OK]
      Common Mistakes:
      • Confusing for...in with for...of
      • Using index instead of element in for...of
      • Trying to use forEach syntax inside for...of
      2. Which of the following is the correct syntax to use forEach to print each element of array nums?
      easy
      A. nums.forEach(function(item) { console.log(item); });
      B. forEach(nums, item => console.log(item));
      C. nums.forEach => console.log(item);
      D. nums.forEach(item) { console.log(item); }

      Solution

      1. Step 1: Recall forEach method syntax

        forEach is called on the array with a function as argument: array.forEach(function(item) { ... }).
      2. Step 2: Match correct syntax

        nums.forEach(function(item) { console.log(item); }); correctly uses nums.forEach(function(item) { console.log(item); }); which is valid.
      3. Final Answer:

        nums.forEach(function(item) { console.log(item); }); -> Option A
      4. Quick Check:

        array.forEach(function) syntax = A [OK]
      Hint: Remember array.forEach(function) calls function on each item [OK]
      Common Mistakes:
      • Trying to call forEach as a standalone function
      • Missing parentheses around function argument
      • Using arrow syntax incorrectly without parentheses
      3. What will be the output of the following code?
      const arr = [1, 2, 3];
      let sum = 0;
      for (const num of arr) {
        sum += num;
      }
      console.log(sum);
      medium
      A. 6
      B. 123
      C. 0
      D. undefined

      Solution

      1. Step 1: Understand the loop and sum calculation

        The loop goes through each number in arr: 1, 2, 3, adding each to sum.
      2. Step 2: Calculate the total sum

        sum = 0 + 1 + 2 + 3 = 6.
      3. Final Answer:

        6 -> Option A
      4. Quick Check:

        Sum of [1,2,3] = 6 [OK]
      Hint: Add each element inside the loop to get total sum [OK]
      Common Mistakes:
      • Concatenating numbers as strings instead of adding
      • Not initializing sum to 0
      • Using wrong loop variable
      4. Find the error in this code snippet that tries to print each element of items:
      const items = ['a', 'b', 'c'];
      for (let i = 0; i <= items.length; i++) {
        console.log(items[i]);
      }
      medium
      A. The console.log statement is missing parentheses
      B. The variable i should be declared with const
      C. The loop condition should be i < items.length instead of i <= items.length
      D. The array items is not defined

      Solution

      1. Step 1: Analyze the loop condition

        The loop runs while i <= items.length. Since array indices go from 0 to items.length - 1, this causes an out-of-bounds access at i = items.length.
      2. Step 2: Correct the loop condition

        Change condition to i < items.length to avoid accessing undefined element.
      3. Final Answer:

        The loop condition should be i < items.length instead of i <= items.length -> Option C
      4. Quick Check:

        Loop index must be less than length, not less or equal [OK]
      Hint: Use i < array.length to avoid out-of-range errors [OK]
      Common Mistakes:
      • Using <= instead of < in loop condition
      • Trying to declare loop variable with const
      • Ignoring array length boundaries
      5. You have an array data = [0, 1, false, 2, '', 3]. You want to create a new array containing only the truthy values by iterating over data. Which code correctly does this?
      hard
      A. const result = data.filter(item => item == true);
      B. const result = []; data.forEach(item => { if (item) result.push(item); });
      C. const result = []; for (let i = 0; i < data.length; i++) { result.push(data[i]); }
      D. const result = data.map(item => item ? item : null);

      Solution

      1. Step 1: Understand truthy filtering

        We want to keep only values that are truthy (not 0, false, '', null, undefined).
      2. Step 2: Check each option

        const result = []; data.forEach(item => { if (item) result.push(item); }); uses forEach to push only truthy items, which is correct. const result = data.filter(item => item == true); uses == true which misses some truthy values like numbers. const result = []; for (let i = 0; i < data.length; i++) { result.push(data[i]); } copies all items without filtering. const result = data.map(item => item ? item : null); replaces falsy with null, not filtering.
      3. Final Answer:

        const result = []; data.forEach(item => { if (item) result.push(item); }); -> Option B
      4. Quick Check:

        Use forEach with if (item) to filter truthy [OK]
      Hint: Use forEach with if (item) to keep truthy values [OK]
      Common Mistakes:
      • Using == true instead of checking truthiness
      • Copying all elements without filtering
      • Using map instead of filter or manual push
      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