Bird
Raised Fist0
DSA Typescriptprogramming~10 mins

Array Traversal Patterns in DSA Typescript - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print all elements of the array using a for loop.

DSA Typescript
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i [1] arr.length; i++) {
  console.log(arr[i]);
}
Drag options to blanks, or click blank then click option'
A<
B<=
C>
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using <= causes an out-of-bounds error.
Using > or == will not iterate correctly.
2fill in blank
medium

Complete the code to sum all elements in the array using a for-of loop.

DSA Typescript
const numbers = [10, 20, 30];
let sum = 0;
for (const num [1] numbers) {
  sum += num;
}
console.log(sum);
Drag options to blanks, or click blank then click option'
Aof
Bin
Cfrom
Don
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'in' instead of 'of' causes iteration over indices.
Using 'from' or 'on' are invalid syntax.
3fill in blank
hard

Fix the error in the code to correctly reverse traverse the array.

DSA Typescript
const data = [5, 10, 15];
for (let i = data.length - 1; i [1] 0; i--) {
  console.log(data[i]);
}
Drag options to blanks, or click blank then click option'
A<=
B>
C>=
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' or '<=' causes the loop to never run.
Using '>' excludes index 0.
4fill in blank
hard

Fill both blanks to create a loop that prints only even numbers from the array.

DSA Typescript
const nums = [1, 2, 3, 4, 5, 6];
for (let i = 0; i [1] nums.length; i++) {
  if (nums[i] [2] 2 === 0) {
    console.log(nums[i]);
  }
}
Drag options to blanks, or click blank then click option'
A<
B<=
C%
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<=' causes out-of-bounds error.
Using '==' instead of '%' in the condition.
5fill in blank
hard

Fill all three blanks to create a new array with doubled numbers greater than 3.

DSA Typescript
const values = [1, 2, 3, 4, 5];
const result = values.filter(v => v [1] 3).map(v => v [2] [3]);
console.log(result);
Drag options to blanks, or click blank then click option'
A>
B*
C2
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' or '<=' in filter.
Using '+' instead of '*' in map.
Using wrong number instead of 2.

Practice

(1/5)
1. What does the following TypeScript code do?
for (let i = 0; i < arr.length; i++) { console.log(arr[i]); }
easy
A. Prints each element of the array from start to end
B. Prints the array elements in reverse order
C. Prints only the first element of the array
D. Prints the length of the array

Solution

  1. Step 1: Understand the loop range

    The loop starts at 0 and runs while i is less than arr.length, so it covers all valid indexes.
  2. Step 2: Analyze the console.log statement

    Each iteration prints the element at index i, so all elements are printed in order.
  3. Final Answer:

    Prints each element of the array from start to end -> Option A
  4. Quick Check:

    Standard forward traversal prints all elements [OK]
Hint: For loop from 0 to length prints array forward [OK]
Common Mistakes:
  • Thinking it prints in reverse order
  • Assuming it prints only one element
  • Confusing index with value
2. Which of the following is the correct syntax to traverse an array arr using a for-of loop in TypeScript?
easy
A. for (let i = 0; i < arr.length; i++) { console.log(arr[i]); }
B. for (let item of arr) { console.log(item); }
C. for (let i in arr) { console.log(arr[i]); }
D. for (let i = arr.length; i >= 0; i--) { console.log(arr[i]); }

Solution

  1. Step 1: Identify for-of loop syntax

    The for-of loop syntax is: for (let element of array) { ... }
  2. Step 2: Match with options

    for (let item of arr) { console.log(item); } matches this syntax and prints each element directly.
  3. Final Answer:

    for (let item of arr) { console.log(item); } -> Option B
  4. Quick Check:

    for-of loops use 'of' keyword to iterate elements [OK]
Hint: for-of loops use 'of' keyword to get elements directly [OK]
Common Mistakes:
  • Using for-in to get elements instead of indexes
  • Confusing for-of with traditional for loop syntax
  • Using wrong loop conditions
3. What will be the output of the following code?
const arr = [10, 20, 30];
let result = [];
for (let i = arr.length - 1; i >= 0; i--) {
  result.push(arr[i]);
}
console.log(result);
medium
A. SyntaxError
B. [10, 20, 30]
C. [undefined, 30, 20]
D. [30, 20, 10]

Solution

  1. Step 1: Understand the loop direction

    The loop starts at index 2 (arr.length - 1) and decrements to 0, traversing the array backward.
  2. Step 2: Track elements pushed to result

    Elements pushed in order: arr[2] = 30, arr[1] = 20, arr[0] = 10, so result = [30, 20, 10].
  3. Final Answer:

    [30, 20, 10] -> Option D
  4. Quick Check:

    Reverse traversal collects elements backward [OK]
Hint: Loop from length-1 down to 0 reverses array [OK]
Common Mistakes:
  • Assuming forward order output
  • Confusing index bounds causing undefined
  • Thinking it causes syntax error
4. Identify the error in the following code snippet that attempts to print all elements of arr:
const arr = [1, 2, 3];
for (let i = 0; i <= arr.length; i++) {
  console.log(arr[i]);
}
medium
A. The loop condition should be i < arr.length, not i <= arr.length
B. The variable i should start from 1, not 0
C. The array should be traversed using for-of loop only
D. There is no error; code works fine

Solution

  1. Step 1: Check loop condition

    The loop runs while i <= arr.length, which means i can be equal to arr.length (3), an invalid index.
  2. Step 2: Understand array indexing

    Array indexes go from 0 to arr.length - 1, so accessing arr[3] is undefined and may cause unexpected output.
  3. Final Answer:

    The loop condition should be i < arr.length, not i <= arr.length -> Option A
  4. Quick Check:

    Array indexes go from 0 to length-1 [OK]
Hint: Loop index must be less than length, not less or equal [OK]
Common Mistakes:
  • Using <= instead of < in loop condition
  • Starting index at 1 instead of 0
  • Thinking for-of is mandatory
5. Given an array arr of numbers, which code snippet correctly creates a new array containing only the even numbers from arr using array traversal?
hard
A. const evens = []; for (let x of arr) { if (x % 2 === 0) evens.push(x); }
B. const evens = arr.filter(x => x % 2 === 0);
C. All of the above
D. const evens = []; for (let i = 0; i < arr.length; i++) { if (arr[i] % 2 === 0) evens.push(arr[i]); }

Solution

  1. Step 1: Analyze const evens = []; for (let i = 0; i < arr.length; i++) { if (arr[i] % 2 === 0) evens.push(arr[i]); }

    Uses a for loop with index to check each element and push even numbers. Correct traversal and filtering.
  2. Step 2: Analyze const evens = arr.filter(x => x % 2 === 0); and C

    const evens = arr.filter(x => x % 2 === 0); uses filter method which internally traverses array and filters evens. const evens = []; for (let x of arr) { if (x % 2 === 0) evens.push(x); } uses for-of loop to traverse and filter evens. Both are correct.
  3. Step 3: Combine understanding

    All three options correctly traverse and select even numbers.
  4. Final Answer:

    All of the above -> Option C
  5. Quick Check:

    Multiple traversal patterns can filter arrays correctly [OK]
Hint: Any loop or filter method can select elements by condition [OK]
Common Mistakes:
  • Assuming only for loop works
  • Confusing filter syntax
  • Forgetting to check modulo condition
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