📖 Scenario: Imagine you are building a simple program that reads a word and checks each letter one by one. This is like reading a word aloud slowly, letter by letter.
🎯 Goal: You will create a program that stores a word, sets up a counter to track position, loops through each letter of the word, and prints each letter on its own line.
📋 What You'll Learn
Create a string variable called word with the value "hello".
Create a variable called index and set it to 0.
Use a while loop that runs while index is less than the length of word.
Inside the loop, access the character at position index in word using word.charAt(index).
Print the character inside the loop.
Increase index by 1 each time the loop runs.
💡 Why This Matters
🌍 Real World
Reading and processing text letter by letter is useful in text editors, spell checkers, and simple games.
💼 Career
Understanding string traversal is a basic skill for programming jobs involving text processing, data parsing, and user input handling.
Progress0 / 4 steps
1
Create the string variable
Create a string variable called word and set it to the exact value "hello".
DSA Javascript
Hint
Use const word = "hello"; to create the string.
2
Set up the index counter
Create a variable called index and set it to 0.
DSA Javascript
Hint
Use let index = 0; to start counting from zero.
3
Loop through the string characters
Use a while loop that runs while index is less than word.length. Inside the loop, access the character at position index in word using word.charAt(index). Print the character. Increase index by 1 each time the loop runs.
DSA Javascript
Hint
Use while (index < word.length) to loop. Use word.charAt(index) to get each letter. Print it with console.log. Increase index by 1 inside the loop.
4
Print the final output
Run the program to print each character of word on its own line.
DSA Javascript
Hint
Each letter of "hello" should print on its own line.
Practice
(1/5)
1. What does the expression str[2] return when str = "hello"?
easy
A. The first character of the string, which is 'h'
B. The third character of the string, which is 'l'
C. The length of the string, which is 5
D. An error because strings cannot be accessed by index
Solution
Step 1: Understand zero-based indexing in strings
Strings in JavaScript start counting characters from index 0, so index 2 is the third character.
Step 2: Identify the character at index 2 in "hello"
The characters are: h(0), e(1), l(2), l(3), o(4). So index 2 is 'l'.
Final Answer:
The third character of the string, which is 'l' -> Option B
Quick Check:
str[2] = 'l' [OK]
Hint: Remember string indexes start at 0, so 2 means third character [OK]
Common Mistakes:
Thinking index 2 is the second character
Confusing string length with character access
Believing strings can't be indexed like arrays
2. Which of the following is the correct syntax to loop through each character of a string text in JavaScript?
easy
A. for (let i = 0; i < text.length; i++) { console.log(text[i]); }
B. for (let char of text) { console.log(text[char]); }
C. for (let i = 1; i <= text.length; i++) { console.log(text[i]); }
D. for (let i = 0; i < text.length; i++) { console.log(text.charAt(i+1)); }
Solution
Step 1: Check the loop range and indexing
The loop should start at 0 and go up to less than text.length to cover all characters.
Step 2: Verify character access inside the loop
Accessing characters by text[i] is correct. for (let i = 0; i < text.length; i++) { console.log(text[i]); } uses this correctly.
Final Answer:
for (let i = 0; i < text.length; i++) { console.log(text[i]); } -> Option A
Quick Check:
Loop from 0 to length-1 and access text[i] [OK]
Hint: Loop from 0 to length-1 and use text[i] to access chars [OK]
Common Mistakes:
Starting loop at 1 instead of 0
Using text[char] when char is a character, not index
Accessing index i+1 causing off-by-one errors
3. What will be the output of the following code?
const s = "world";
let result = "";
for (let i = 0; i < s.length; i++) {
if (i % 2 === 0) {
result += s[i];
}
}
console.log(result);
medium
A. "wrd"
B. "wolrd"
C. "orld"
D. "wrld"
Solution
Step 1: Understand the loop and condition
The loop goes from 0 to 4 (length 5). It adds characters at even indexes (0,2,4) to result.
Step 2: Identify characters at even indexes
Index 0: 'w', 2: 'r', 4: 'd'. So result becomes "wrd".
Final Answer:
"wrd" -> Option A
Quick Check:
Characters at even indexes = "wrd" [OK]
Hint: Pick characters where index % 2 is zero [OK]
Common Mistakes:
Including characters at odd indexes
Confusing index positions with characters
Appending characters incorrectly
4. The following code is intended to print each character of word on a new line, but it prints an extra undefined. What is the problem?
const word = "test";
for (let i = 0; i <= word.length; i++) {
console.log(word[i]);
}
medium
A. Strings cannot be accessed by index in JavaScript
B. console.log cannot print string characters
C. The variable i is not declared
D. The loop condition should be i < word.length instead of <=
Solution
Step 1: Analyze the loop condition
The loop runs from i = 0 to i = word.length (which is 4). Index 4 is out of bounds for string indices 0-3.
Step 2: Identify the fix
Change the condition to i < word.length to avoid accessing undefined index.
Final Answer:
The loop condition should be i < word.length instead of <= -> Option D
Quick Check:
Loop must stop before length to avoid undefined index [OK]
Hint: Use i < length not <= to avoid out-of-bounds [OK]
Common Mistakes:
Using <= instead of < in loop condition
Thinking strings can't be indexed
Ignoring off-by-one errors
5. Given a string inputStr, which code snippet correctly reverses the string by traversing it from the end to the start?
hard
A. let reversed = '';
for (let i = inputStr.length; i > 0; i--) {
reversed += inputStr[i];
}
B. let reversed = '';
for (let i = 0; i < inputStr.length; i++) {
reversed += inputStr[inputStr.length - i];
}
C. let reversed = '';
for (let i = inputStr.length - 1; i >= 0; i--) {
reversed += inputStr[i];
}
D. let reversed = '';
for (let i = inputStr.length - 1; i > 0; i--) {
reversed += inputStr[i];
}
Solution
Step 1: Understand string indexing and loop bounds
String indices go from 0 to length-1. To reverse, start at length-1 down to 0 inclusive.
Step 2: Check each option's loop and indexing
let reversed = '';
for (let i = inputStr.length - 1; i >= 0; i--) {
reversed += inputStr[i];
} loops from length-1 to 0 inclusive and appends characters correctly. Others have off-by-one errors or wrong indices.
Final Answer:
let reversed = '';
for (let i = inputStr.length - 1; i >= 0; i--) {
reversed += inputStr[i];
} -> Option C
Quick Check:
Loop backward from last index to 0 and append chars [OK]
Hint: Loop backward from length-1 to 0 and append characters [OK]
Common Mistakes:
Using wrong loop bounds causing missing first/last char
Accessing index equal to length (out of bounds)
Stopping loop before reaching index 0
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.