Switch statement in Javascript - Time & Space Complexity
We want to see how the time it takes to run a switch statement changes as the number of cases grows.
How does the program decide which case to run when there are many options?
Analyze the time complexity of the following code snippet.
function getDayName(dayNumber) {
switch(dayNumber) {
case 1: return 'Monday';
case 2: return 'Tuesday';
case 3: return 'Wednesday';
case 4: return 'Thursday';
case 5: return 'Friday';
case 6: return 'Saturday';
case 7: return 'Sunday';
default: return 'Invalid day';
}
}
This code returns the name of the day based on a number using a switch statement.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Index computation and jump table lookup (or equivalent optimization).
- How many times: Constant time (O(1)), independent of number of cases.
As the number of cases grows, the execution time remains nearly constant thanks to JS engine optimizations like jump tables.
| Input Size (number of cases) | Approx. Checks |
|---|---|
| 10 | ~1 check |
| 100 | ~1 check |
| 1000 | ~1 check |
Pattern observation: The number of checks remains constant regardless of the number of cases.
Time Complexity: O(1)
This means the time to find the matching case is constant even as the number of cases increases.
[X] Wrong: "Switch statements check each case one by one like if-else chains, so O(n)."
[OK] Correct: JS engines optimize switch with jump tables, binary search, or hashes for typically O(1) performance.
Understanding how switch statements scale helps you explain your code choices clearly and shows you think about efficiency in real situations.
"What if we replaced the switch statement with an object lookup? How would the time complexity change?"