A nested loop is a loop inside another loop. The inner loop runs completely every time the outer loop runs once.
Click to reveal answer
beginner
How many times will the inner loop run in this code?<br><pre>for(let i = 0; i < 3; i++) {<br> for(let j = 0; j < 2; j++) {<br> console.log(i, j);<br> }<br>}</pre>
The inner loop runs 2 times for each of the 3 outer loop runs, so 3 × 2 = 6 times total.
Click to reveal answer
beginner
Why use nested loops? Give a real-life example.
Nested loops help when you need to check combinations, like rows and columns in a grid or seats in a theater. For example, checking every seat in every row.
Click to reveal answer
intermediate
What is the output of this nested loop?<br><pre>for(let i = 1; i <= 2; i++) {<br> for(let j = 1; j <= 3; j++) {<br> console.log(i * j);<br> }<br>}</pre>
The output is: 1 2 3 2 4 6 Because for i=1, j runs 1 to 3, printing 1×1, 1×2, 1×3; then for i=2, j runs 1 to 3, printing 2×1, 2×2, 2×3.
Click to reveal answer
intermediate
How can nested loops affect performance?
Nested loops can slow down programs because the total steps multiply. For example, two loops each running 100 times means 10,000 steps. Use them carefully.
Click to reveal answer
What does a nested loop mean in JavaScript?
ATwo loops running at the same time
BA loop that runs only once
CA loop inside another loop
DA loop that never ends
✗ Incorrect
A nested loop is when one loop is placed inside another loop, so the inner loop runs completely for each iteration of the outer loop.
How many times will the inner loop run in this code?
DThey can make code run slower because steps multiply
✗ Incorrect
Nested loops multiply the number of steps, which can slow down your program if loops run many times.
Explain what nested loops are and give a simple example in JavaScript.
Think about a loop inside another loop and how many times the inner loop runs.
You got /3 concepts.
Describe a real-life situation where nested loops would be useful and why.
Think about checking combinations or pairs, like rows and columns.
You got /3 concepts.
Practice
(1/5)
1. What does a nested loop in JavaScript mean? for (let i = 0; i < 3; i++) { for (let j = 0; j < 2; j++) { console.log(i, j); } }
easy
A. A loop inside another loop, running multiple times
B. A loop that runs only once
C. A loop that runs backwards
D. A loop that skips some numbers
Solution
Step 1: Understand the code structure
The code has one loop inside another, called nested loops.
Step 2: Explain the behavior
The inner loop runs fully for each iteration of the outer loop, so it runs multiple times.
Final Answer:
A loop inside another loop, running multiple times -> Option A
Quick Check:
Nested loop = loop inside loop [OK]
Hint: Nested means one loop inside another [OK]
Common Mistakes:
Thinking nested loops run only once
Confusing nested loops with single loops
Believing nested loops skip numbers
2. Which of the following is the correct syntax for a nested loop in JavaScript?
easy
A. for (let i = 0; i < 3; i++) { for (let j = 0; j < 2; j++) { } }
B. for i in range(3) { for j in range(2) { } }
C. while (i < 3) { while (j < 2) }
D. loop i from 0 to 3 { loop j from 0 to 2 { } }
Solution
Step 1: Identify JavaScript loop syntax
JavaScript uses for (let variable = start; condition; increment) syntax.
Step 2: Check nested loops syntax
for (let i = 0; i < 3; i++) { for (let j = 0; j < 2; j++) { } } correctly nests two for loops with proper syntax and braces.
Final Answer:
for (let i = 0; i < 3; i++) { for (let j = 0; j < 2; j++) { } } -> Option A
Quick Check:
JS nested loops use for(;;) inside for(;;) [OK]
Hint: Look for 'for (let i=0; ...)' syntax in JavaScript [OK]
Common Mistakes:
Using Python or other language syntax
Missing curly braces {}
Incorrect loop keywords
3. What is the output of this code?
for (let i = 1; i <= 2; i++) { for (let j = 1; j <= 3; j++) { console.log(i * j); } }
medium
A. 1 2 3 1 2 3
B. 6 5 4 3 2 1
C. 1 4 9 2 5 8
D. 1 2 3 2 4 6
Solution
Step 1: Trace outer loop values
Outer loop i runs 1 and 2.
Step 2: Calculate inner loop outputs
For i=1, j=1,2,3 outputs 1*1=1, 1*2=2, 1*3=3. For i=2, j=1,2,3 outputs 2*1=2, 2*2=4, 2*3=6.
Final Answer:
1 2 3 2 4 6 -> Option D
Quick Check:
Multiply i and j in nested loops [OK]
Hint: Multiply outer and inner loop counters [OK]
Common Mistakes:
Mixing up i and j values
Not running inner loop fully each time
Confusing output order
4. Find the error in this nested loop code:
for (let i = 0; i < 3; i++) { for (let i = 0; i < 2; i++) { console.log(i); } }
medium
A. Outer loop condition is wrong
B. Missing semicolon after for loops
C. Inner loop uses same variable name 'i', causing conflict
D. Console.log syntax is incorrect
Solution
Step 1: Check variable names in loops
Both loops use variable 'i', inner loop redeclares 'i' shadowing outer.
Step 2: Explain why this is a problem
Using same variable name causes confusion and unexpected behavior in nested loops.
Final Answer:
Inner loop uses same variable name 'i', causing conflict -> Option C
Quick Check:
Use different variables for nested loops [OK]
Hint: Use different variable names for each loop [OK]
Common Mistakes:
Reusing same variable name in nested loops
Ignoring variable scope issues
Assuming semicolons are mandatory after for()
5. You want to print a 3x3 grid of stars (*) using nested loops. Which code correctly does this?
hard
A. for (let i = 0; i < 3; i++) { for (let j = 0; j < 3; j++) { console.log('*'); } }
B. for (let i = 0; i < 3; i++) { let row = ''; for (let j = 0; j < 3; j++) { row += '*'; } console.log(row); }
C. for (let i = 0; i < 3; i++) { console.log('***'); }
D. for (let i = 0; i < 3; i++) { let row = '*'; for (let j = 0; j < 3; j++) { row += '*'; } console.log(row); }
Solution
Step 1: Understand the goal
We want 3 rows, each with 3 stars printed together as a line.
Step 2: Check each option's output
for (let i = 0; i < 3; i++) { let row = ''; for (let j = 0; j < 3; j++) { row += '*'; } console.log(row); } builds a string of 3 stars per row and prints it 3 times. for (let i = 0; i < 3; i++) { for (let j = 0; j < 3; j++) { console.log('*'); } } prints stars individually, not as rows. for (let i = 0; i < 3; i++) { console.log('***'); } prints 3 stars but only 3 times, no loop for columns. for (let i = 0; i < 3; i++) { let row = '*'; for (let j = 0; j < 3; j++) { row += '*'; } console.log(row); } starts with '*' and adds three more '*', printing four stars per row.
Final Answer:
for (let i = 0; i < 3; i++) { let row = ''; for (let j = 0; j < 3; j++) { row += '*'; } console.log(row); } -> Option B
Quick Check:
Build row string inside outer loop [OK]
Hint: Build each row string inside outer loop [OK]
Common Mistakes:
Printing stars one by one without grouping
Not resetting row string inside outer loop
Confusing loops for rows and columns
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.