String concatenation in output in Javascript - Time & Space Complexity
When we join strings together in JavaScript, the time it takes can change depending on how many strings we combine.
We want to know how the work grows as we add more strings to join.
Analyze the time complexity of the following code snippet.
let result = "";
const words = ["hello", "world", "this", "is", "fun"];
for (let i = 0; i < words.length; i++) {
result += words[i];
}
console.log(result);
This code joins all words in the array into one string by adding each word one by one.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Adding each word to the growing string inside the loop.
- How many times: Once for each word in the array.
Each time we add a new word, the string gets longer, so adding takes more work than before.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 55 steps |
| 100 | About 5,050 steps |
| 1000 | About 500,500 steps |
Pattern observation: The work grows much faster than the number of words because each addition copies the whole string so far.
Time Complexity: O(n²)
This means the time to join strings grows roughly with the square of the number of words.
[X] Wrong: "Adding strings in a loop always takes time proportional to the number of strings (O(n))."
[OK] Correct: Each addition copies the entire string so far, so the work adds up much faster than just counting words.
Understanding how string joining works helps you write faster code and shows you think about how programs grow with input size.
"What if we used an array to collect words first and joined them all at once at the end? How would the time complexity change?"
Practice
+ operator do when used between two strings in JavaScript?Solution
Step 1: Understand the + operator with strings
In JavaScript, the + operator combines two strings into one continuous string.Step 2: Recognize string concatenation
When you write "Hello" + " World", it becomes "Hello World".Final Answer:
Joins the two strings together into one string -> Option BQuick Check:
String + String = Concatenation [OK]
- Thinking + subtracts or divides strings
- Confusing + with arithmetic on strings
- Forgetting to add spaces inside quotes
"Hello" and "World" with a space between them in JavaScript?Solution
Step 1: Identify how to add space between words
To add a space, include " " (space inside quotes) between the two strings.Step 2: Use + operator to join all parts
Use + to join "Hello", " ", and "World" to get "Hello World".Final Answer:
"Hello" + " " + "World" -> Option CQuick Check:
Use + and " " for spaces [OK]
- Forgetting the space string " "
- Using - or * instead of +
- Not putting quotes around the space
let name = "Anna";
console.log("Hello, " + name + "!");Solution
Step 1: Understand variable substitution in concatenation
The variablenameholds the string "Anna" and is concatenated with other strings.Step 2: Combine strings and variable value
"Hello, " + name + "!" becomes "Hello, Anna!" when printed.Final Answer:
Hello, Anna! -> Option DQuick Check:
Variable value joins strings correctly [OK]
- Printing variable name instead of value
- Missing punctuation or spaces
- Using commas instead of + for concatenation
let greeting = "Hi"; let name = "Sam"; console.log(greeting + name);
What is missing if the output should be
Hi Sam?Solution
Step 1: Check the concatenation result
Currently, greeting + name joins "Hi" and "Sam" without space, resulting in "HiSam".Step 2: Add a space string between variables
Insert " " between greeting and name: greeting + " " + name to get "Hi Sam".Final Answer:
A space string between greeting and name -> Option AQuick Check:
Add " " to separate words [OK]
- Forgetting spaces in concatenation
- Using commas instead of +
- Thinking semicolon affects output
Hello, John Doe! You have 5 new messages. using variables firstName, lastName, and messageCount. Which code correctly concatenates these values with spaces and punctuation?Solution
Step 1: Check spacing between first and last names
console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); adds a space string " " between firstName and lastName, correctly spacing the full name.Step 2: Verify punctuation and spaces in message
console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); includes "! You have " and " new messages." with correct spaces and punctuation.Final Answer:
console.log("Hello, " + firstName + " " + lastName + "! You have " + messageCount + " new messages."); -> Option AQuick Check:
Use " " to separate names and punctuation correctly [OK]
- Missing space between first and last name
- Missing space before 'new messages'
- Omitting punctuation at the end
Ready to prove it?
Pass the test and this pattern moves unknown
