JavaScript Fundamentals · Loops · Lesson 11 of 48
Looping Over Arrays
Concept
Looping Over Arrays
A for...of loop lets you iterate directly over the values in an array, without managing an index counter yourself.
This makes the intent of the code clearer — you're saying "for each item in this list" instead of "count from 0 to length, then look up each item by index."
By the end of this lesson
- Explain the core idea behind Looping Over Arrays.
- Predict output before running a change.
- Test one realistic and one unusual input.
- Use the result to make the next decision.
How to study this page
- 1. Read one concept.
- 2. Change the example.
- 3. Run, compare, and explain.
- 4. Complete the challenge below.
Syntax
for (const item of iterable) {
// code using item
}ExampleRunnable
const fruits = ["apple", "banana", "mango"];
for (const fruit of fruits) {
console.log(fruit);
}Try it Yourself »Getting the index too, with .forEach()
const fruits = ["apple", "banana", "mango"];
fruits.forEach((fruit, index) => {
console.log(index, fruit);
});Note: forEach() is a method on arrays, and unlike for...of it always gives you the index alongside each value.
for...in for object keys
const student = { name: "Alex", age: 20 };
for (const key in student) {
console.log(key, student[key]);
}Note: for...in loops over an object's keys, while for...of loops over an array's values — mixing the two up is a common source of bugs.
Self-check before continuing
Without looking at the example, describe what changes when you modify one input in Looping Over Arrays. Then reopen the editor and prove your explanation with a small test.
You are ready to continue when you can predict, test, and explain the result.
Your turn
Loop over an array of your favorite courses and print each one.
Loading editor…
Console