Bird
Raised Fist0
Javascriptprogramming~5 mins

Else–if ladder in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Else-if ladder
O(n)
Understanding Time Complexity

We want to understand how the time taken by an else-if ladder changes as we add more conditions.

How does checking multiple conditions one after another affect performance?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function checkNumber(num) {
  if (num === 1) {
    return 'One';
  } else if (num === 2) {
    return 'Two';
  } else if (num === 3) {
    return 'Three';
  } else {
    return 'Other';
  }
}
    

This code checks a number against several conditions one by one until it finds a match.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Checking conditions one after another in the else-if ladder.
  • How many times: Up to the number of conditions, until one matches or all are checked.
How Execution Grows With Input

As the number of conditions grows, the checks increase linearly if the match is near the end or missing.

Input Size (n)Approx. Operations
3Up to 3 checks
10Up to 10 checks
100Up to 100 checks

Pattern observation: The number of checks grows directly with the number of conditions.

Final Time Complexity

Time Complexity: O(n)

This means the time to find a match grows in a straight line as you add more conditions.

Common Mistake

[X] Wrong: "Else-if ladders always run in constant time because they stop once a match is found."

[OK] Correct: If the match is near the end or missing, many conditions are checked, so time grows with the number of conditions.

Interview Connect

Understanding how else-if ladders scale helps you write efficient condition checks and shows you can think about performance in everyday code.

Self-Check

"What if we replaced the else-if ladder with a switch statement? How would the time complexity change?"

Practice

(1/5)
1. What does an else if ladder do in JavaScript?
easy
A. Only runs the last condition regardless of others
B. Runs all true conditions in sequence
C. Checks multiple conditions one by one and runs the first true block
D. Skips all conditions and runs default code

Solution

  1. Step 1: Understand else if ladder behavior

    An else if ladder checks conditions in order, one after another.
  2. Step 2: Identify which block runs

    Only the first condition that is true will run its code block; others are skipped.
  3. Final Answer:

    Checks multiple conditions one by one and runs the first true block -> Option C
  4. Quick Check:

    else if ladder = first true block runs [OK]
Hint: Remember: else if stops at first true condition [OK]
Common Mistakes:
  • Thinking all true blocks run
  • Confusing else if with separate if statements
  • Believing else if runs last condition only
2. Which of the following is the correct syntax for an else if ladder in JavaScript?
easy
A. if (x > 10) {} else if (x > 5) {} else {}
B. if x > 10 then {} else if x > 5 then {} else {}
C. if (x > 10) {} elseif (x > 5) {} else {}
D. if (x > 10) {} else (x > 5) {} else {}

Solution

  1. Step 1: Check JavaScript syntax rules

    JavaScript uses parentheses around conditions and keywords: if, else if, else.
  2. Step 2: Identify correct else if syntax

    The correct keyword is else if with a space, not elseif or missing parentheses.
  3. Final Answer:

    if (x > 10) {} else if (x > 5) {} else {} -> Option A
  4. Quick Check:

    Correct else if syntax = if (x > 10) {} else if (x > 5) {} else {} [OK]
Hint: Use 'else if' with space and parentheses [OK]
Common Mistakes:
  • Writing 'elseif' as one word
  • Omitting parentheses around conditions
  • Using else with a condition directly
3. What will be the output of this code?
let score = 75;
if (score >= 90) {
  console.log('A');
} else if (score >= 80) {
  console.log('B');
} else if (score >= 70) {
  console.log('C');
} else {
  console.log('F');
}
medium
A. A
B. C
C. B
D. F

Solution

  1. Step 1: Check conditions in order

    score is 75, so first condition (>=90) is false, second (>=80) is false, third (>=70) is true.
  2. Step 2: Identify which block runs

    The third else if block runs and prints 'C'. The else block is skipped.
  3. Final Answer:

    C -> Option B
  4. Quick Check:

    First true condition output = C [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
  • Picking output 'B' or 'A' incorrectly
  • Ignoring order of conditions
  • Assuming else runs when a condition is true
4. Find the error in this else if ladder code:
let num = 10;
if (num > 10) {
  console.log('Greater than 10');
} else if num > 5 {
  console.log('Greater than 5');
} else {
  console.log('5 or less');
}
medium
A. No error, code is correct
B. Missing curly braces in if block
C. Using else if instead of else
D. Missing parentheses around condition in else if

Solution

  1. Step 1: Check syntax of else if condition

    In JavaScript, conditions must be inside parentheses, but here else if condition lacks parentheses.
  2. Step 2: Confirm other parts are correct

    Curly braces are present, and else if is correctly used, so no other syntax errors.
  3. Final Answer:

    Missing parentheses around condition in else if -> Option D
  4. Quick Check:

    Conditions need parentheses [OK]
Hint: Always put conditions inside parentheses [OK]
Common Mistakes:
  • Forgetting parentheses in else if
  • Confusing else if with else
  • Missing curly braces
5. You want to assign a grade based on score using else if ladder. Which code correctly assigns 'Pass' if score is 50 or more, 'Fail' if less, and 'Invalid' if score is negative?
let score = 45;
if (score < 0) {
  console.log('Invalid');
} else if (score >= 50) {
  console.log('Pass');
} else {
  console.log('Fail');
}
hard
A. Correctly assigns grades as per conditions
B. Fails to check negative score first
C. Pass and Fail conditions are swapped
D. Missing else if for negative score

Solution

  1. Step 1: Check order of conditions

    Negative score is checked first, so invalid scores are caught early.
  2. Step 2: Verify pass and fail conditions

    Score >= 50 prints 'Pass', else prints 'Fail'. This matches requirements.
  3. Final Answer:

    Correctly assigns grades as per conditions -> Option A
  4. Quick Check:

    Order and conditions correct = Correctly assigns grades as per conditions [OK]
Hint: Check invalid cases first in else if ladder [OK]
Common Mistakes:
  • Checking pass before invalid score
  • Swapping pass and fail conditions
  • Missing else block for fail
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard