Continue statement in Javascript - Time & Space Complexity
Let's see how using the continue statement affects the time it takes for a loop to run.
We want to know how skipping some steps changes the total work done.
Analyze the time complexity of the following code snippet.
for (let i = 0; i < n; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
This code loops from 0 to n-1 but skips printing even numbers using continue.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The
forloop runs from 0 to n-1. - How many times: The loop runs exactly n times, but
continueskips some steps inside.
Even though some steps are skipped, the loop still checks each number once.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 checks, about 5 prints |
| 100 | 100 checks, about 50 prints |
| 1000 | 1000 checks, about 500 prints |
Pattern observation: The total steps grow directly with n, even if some actions inside are skipped.
Time Complexity: O(n)
This means the time grows in a straight line with the size of the input, no matter how many times we skip inside.
[X] Wrong: "Using continue makes the loop run faster and reduces time complexity."
[OK] Correct: The loop still runs n times; skipping steps inside doesn't reduce the number of loop cycles.
Understanding how control statements like continue affect loops helps you explain code efficiency clearly and confidently.
What if we replaced continue with an if statement that wraps the inner code instead? How would the time complexity change?
Practice
continue statement do inside a loop in JavaScript?Solution
Step 1: Understand the role of
Thecontinuein loopscontinuestatement skips the remaining code inside the current loop iteration.Step 2: Identify what happens after
After skipping, the loop moves directly to the next iteration without stopping the whole loop.continueFinal Answer:
It skips the rest of the current loop iteration and moves to the next iteration. -> Option AQuick Check:
continueskips current step [OK]
- Confusing continue with break
- Thinking continue stops the loop
- Believing continue restarts the program
continue inside a for loop in JavaScript?Solution
Step 1: Recall the syntax of
Thecontinuecontinuestatement is used alone followed by a semicolon.Step 2: Check each option for syntax correctness
continue; usescontinue;which is correct. Options A, B, and C use invalid syntax.Final Answer:
continue; -> Option BQuick Check:
Correct syntax iscontinue;[OK]
- Adding parentheses after continue
- Using continue with labels incorrectly
- Adding brackets or other symbols
for (let i = 1; i <= 5; i++) {
if (i === 3) continue;
console.log(i);
}Solution
Step 1: Analyze the loop and condition
The loop runs from 1 to 5. Wheniis 3,continueskips the console.log.Step 2: Determine which numbers are printed
Numbers 1, 2, 4, and 5 are printed. Number 3 is skipped.Final Answer:
1 2 4 5 -> Option CQuick Check:
continue skips 3, prints others [OK]
- Including the skipped number in output
- Confusing continue with break
- Ignoring the condition inside the loop
for (let i = 0; i < 5; i++) {
if (i = 2) continue;
console.log(i);
}Solution
Step 1: Identify the if condition mistake
The condition usesi = 2which assigns 2 to i instead of comparing.Step 2: Understand the effect of assignment in if
Assignment returns 2 (truthy), so continue runs every time, causing an infinite loop or skipping all logs.Final Answer:
The assignment operator (=) is used instead of comparison (===) in the if condition. -> Option AQuick Check:
Use === for comparison, not = [OK]
- Using = instead of === in conditions
- Thinking continue is invalid in for loops
- Misplacing console.log inside loop
for loop and continue. Which code correctly achieves this?Solution
Step 1: Understand the goal
We want to skip printing numbers divisible by 3, so usecontinuewheni % 3 === 0.Step 2: Check each option
for(let i=1; i<=10; i++) { if(i % 3 === 0) continue; console.log(i); } correctly skips multiples of 3 and prints others. for(let i=1; i<=10; i++) { if(i % 3 !== 0) continue; console.log(i); } skips non-multiples, wrong. for(let i=1; i<=10; i++) { if(i % 3 === 0) break; console.log(i); } uses break, stops loop early. for(let i=1; i<=10; i++) { if(i % 3 === 0) return; console.log(i); } uses return, invalid in this context.Final Answer:
for(let i=1; i<=10; i++) { if(i % 3 === 0) continue; console.log(i); } -> Option DQuick Check:
continue skips multiples of 3, prints rest [OK]
- Using break instead of continue
- Reversing the condition logic
- Using return inside loops incorrectly
Ready to prove it?
Pass the test and this pattern moves unknown
