What if you could let the computer do all the boring list-checking for you, perfectly every time?
Why Iterating over arrays in Javascript? - Purpose & Use Cases
Imagine you have a list of your favorite songs written on paper. To find the longest song, you have to look at each one, one by one, and write down the length. Doing this by hand for hundreds of songs would take a long time and be tiring.
Manually checking each item in a list is slow and easy to mess up. You might skip a song or write the wrong length. If the list changes, you have to start all over. This wastes time and causes mistakes.
Using array iteration in JavaScript lets the computer quickly and correctly look at each item in a list. It does the repetitive work for you, so you can focus on what you want to do with the items, like finding the longest song or adding up durations.
let total = 0; total += songs[0]; total += songs[1]; total += songs[2];
let total = 0;
songs.forEach(song => total += song);It makes working with lists easy, fast, and less error-prone, opening the door to powerful data handling and automation.
When you shop online, the website uses array iteration to add up prices of all items in your cart to show the total cost instantly.
Manually handling each item is slow and risky.
Array iteration automates repetitive tasks safely.
This helps you work smarter with lists and data.
Practice
arr using for...of?Solution
Step 1: Understand
Thefor...ofsyntaxfor...ofloop directly accesses each element in the array, not the index.Step 2: Identify the correct loop structure
for (const item of arr) { console.log(item); } usesfor (const item of arr), which correctly iterates over elements.Final Answer:
for (const item of arr) { console.log(item); } -> Option DQuick Check:
for...ofloops over elements = C [OK]
for...of to get elements directly [OK]- Confusing
for...inwithfor...of - Using index instead of element in
for...of - Trying to use
forEachsyntax insidefor...of
forEach to print each element of array nums?Solution
Step 1: Recall
forEachmethod syntaxforEachis called on the array with a function as argument:array.forEach(function(item) { ... }).Step 2: Match correct syntax
nums.forEach(function(item) { console.log(item); }); correctly usesnums.forEach(function(item) { console.log(item); });which is valid.Final Answer:
nums.forEach(function(item) { console.log(item); }); -> Option AQuick Check:
array.forEach(function)syntax = A [OK]
array.forEach(function) calls function on each item [OK]- Trying to call
forEachas a standalone function - Missing parentheses around function argument
- Using arrow syntax incorrectly without parentheses
const arr = [1, 2, 3];
let sum = 0;
for (const num of arr) {
sum += num;
}
console.log(sum);Solution
Step 1: Understand the loop and sum calculation
The loop goes through each number inarr: 1, 2, 3, adding each tosum.Step 2: Calculate the total sum
sum = 0 + 1 + 2 + 3 = 6.Final Answer:
6 -> Option AQuick Check:
Sum of [1,2,3] = 6 [OK]
- Concatenating numbers as strings instead of adding
- Not initializing sum to 0
- Using wrong loop variable
items:const items = ['a', 'b', 'c'];
for (let i = 0; i <= items.length; i++) {
console.log(items[i]);
}Solution
Step 1: Analyze the loop condition
The loop runs whilei <= items.length. Since array indices go from 0 toitems.length - 1, this causes an out-of-bounds access ati = items.length.Step 2: Correct the loop condition
Change condition toi < items.lengthto avoid accessing undefined element.Final Answer:
The loop condition should bei < items.lengthinstead ofi <= items.length-> Option CQuick Check:
Loop index must be less than length, not less or equal [OK]
i < array.length to avoid out-of-range errors [OK]- Using <= instead of < in loop condition
- Trying to declare loop variable with const
- Ignoring array length boundaries
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?Solution
Step 1: Understand truthy filtering
We want to keep only values that are truthy (not 0, false, '', null, undefined).Step 2: Check each option
const result = []; data.forEach(item => { if (item) result.push(item); }); usesforEachto push only truthy items, which is correct. const result = data.filter(item => item == true); uses== truewhich 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.Final Answer:
const result = []; data.forEach(item => { if (item) result.push(item); }); -> Option BQuick Check:
UseforEachwith if (item) to filter truthy [OK]
forEach with if (item) to keep truthy values [OK]- Using == true instead of checking truthiness
- Copying all elements without filtering
- Using map instead of filter or manual push
Ready to prove it?
Pass the test and this pattern moves unknown
