<htmlstart/>

JS Loops

Repeat code with for, while, for...of, and for...in loops.

for Loop

// for (init; condition; update)
for (let i = 0; i < 5; i++) {
  console.log(i);  // 0, 1, 2, 3, 4
}

// Count down
for (let i = 10; i >= 0; i--) {
  console.log(i);
}

while Loop

let count = 0;
while (count < 3) {
  console.log(count);  // 0, 1, 2
  count++;
}

// do...while — runs at least once
let n = 0;
do {
  console.log(n);
  n++;
} while (n < 3);

for...of — Iterate Values

const fruits = ["apple", "banana", "cherry"];

for (const fruit of fruits) {
  console.log(fruit);  // apple, banana, cherry
}

// Works on strings too
for (const char of "hello") {
  console.log(char);  // h, e, l, l, o
}

for...in — Iterate Object Keys

const user = { name: "Alice", age: 25, city: "London" };

for (const key in user) {
  console.log(key, user[key]);
  // name Alice
  // age 25
  // city London
}

break and continue

// break — exit loop immediately
for (let i = 0; i < 10; i++) {
  if (i === 5) break;
  console.log(i);  // 0, 1, 2, 3, 4
}

// continue — skip current iteration
for (let i = 0; i < 6; i++) {
  if (i % 2 === 0) continue;  // skip even numbers
  console.log(i);  // 1, 3, 5
}
Prefer for...of over traditional for loops when iterating arrays — it's cleaner and less error-prone (no off-by-one index mistakes).
🧩

Test Yourself

4 questions
Q1.Which loop is best for iterating over array values?
Q2.What does the continue keyword do inside a loop?
Q3.Which loop always executes its body at least once?
Q4.What is the correct way to iterate over object keys?