Bird
Raised Fist0
DSA Javascriptprogramming~5 mins

String Traversal and Character Access in DSA Javascript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does string traversal mean?
String traversal means going through each character in a string one by one, usually from the first character to the last.
Click to reveal answer
beginner
How do you access the third character of a string str in JavaScript?
You use str[2] because string indexing starts at 0, so the third character is at index 2.
Click to reveal answer
beginner
What will console.log('hello'.length) print?
It will print 5 because the string 'hello' has 5 characters.
Click to reveal answer
intermediate
Why is it important to check string length before accessing characters by index?
Because accessing an index outside the string length returns undefined in JavaScript, which can cause errors in your program.
Click to reveal answer
intermediate
What is the difference between str.charAt(index) and str[index] in JavaScript?
str.charAt(index) returns an empty string if index is out of range, while str[index] returns undefined. Both access characters but behave differently for invalid indexes.
Click to reveal answer
What is the index of the first character in a JavaScript string?
A-1
B1
C0
DDepends on the string
What will 'world'[5] return?
Aundefined
Bw
Cd
DError
Which method returns the length of a string?
Astr.size()
Bstr.length()
Cstr.count()
Dstr.length
How can you loop through each character of a string str?
Afor (let i = 1; i <= str.length; i++) { /* access str[i] */ }
Bfor (let i = 0; i < str.length; i++) { /* access str[i] */ }
Cwhile (str.length) { /* access str[i] */ }
Dstr.forEach(char => { /* ... */ })
What does str.charAt(index) return if index is out of range?
AEmpty string ''
Bundefined
Cnull
DThrows an error
Explain how to traverse a string and access each character in JavaScript.
Think about using a for loop and accessing characters by index.
You got /3 concepts.
    Describe the difference between accessing characters using bracket notation and charAt method.
    Focus on what happens when the index is out of range.
    You got /3 concepts.

      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

      1. Step 1: Understand zero-based indexing in strings

        Strings in JavaScript start counting characters from index 0, so index 2 is the third character.
      2. 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'.
      3. Final Answer:

        The third character of the string, which is 'l' -> Option B
      4. 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

      1. 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.
      2. 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.
      3. Final Answer:

        for (let i = 0; i < text.length; i++) { console.log(text[i]); } -> Option A
      4. 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

      1. 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.
      2. Step 2: Identify characters at even indexes

        Index 0: 'w', 2: 'r', 4: 'd'. So result becomes "wrd".
      3. Final Answer:

        "wrd" -> Option A
      4. 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

      1. 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.
      2. Step 2: Identify the fix

        Change the condition to i < word.length to avoid accessing undefined index.
      3. Final Answer:

        The loop condition should be i < word.length instead of <= -> Option D
      4. 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

      1. 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.
      2. 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.
      3. Final Answer:

        let reversed = ''; for (let i = inputStr.length - 1; i >= 0; i--) { reversed += inputStr[i]; } -> Option C
      4. 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 unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard