Bird
Raised Fist0
DSA Typescriptprogramming~20 mins

Array Declaration and Initialization in DSA Typescript - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Initialization Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Array Initialization with Spread Operator
What is the output of the following TypeScript code after array initialization and modification?
DSA Typescript
const arr1 = [1, 2, 3];
const arr2 = [...arr1];
arr2.push(4);
console.log(arr1);
console.log(arr2);
A[1, 2, 3, 4]\n[1, 2, 3, 4]
B[1, 2, 3]\n[1, 2, 3, 4]
C[1, 2, 3]\n[1, 2, 3]
D[1, 2, 3, 4]\n[1, 2, 3]
Attempts:
2 left
💡 Hint
Think about whether arr2 is a new array or a reference to arr1.
❓ Predict Output
intermediate
2:00remaining
Array Initialization with Fixed Size and Default Values
What will be the output of this TypeScript code that initializes an array with a fixed size and default values?
DSA Typescript
const arr = new Array(3).fill(0);
arr[1] = 5;
console.log(arr);
A[0, 0, 5]
B[5, 0, 0]
C[0, 5, 0]
D[undefined, 5, undefined]
Attempts:
2 left
💡 Hint
Remember that fill sets all elements to the same value initially.
🔧 Debug
advanced
2:00remaining
Identify the Error in Array Initialization
What error will this TypeScript code produce when run?
DSA Typescript
const arr: number[] = new Array(-1);
ATypeError: Cannot assign to read only property
BNo error, creates empty array
CSyntaxError: Unexpected token
DRangeError: Invalid array length
Attempts:
2 left
💡 Hint
Array size cannot be negative.
❓ Predict Output
advanced
2:00remaining
Output of Nested Array Initialization and Modification
What is the output of this TypeScript code involving nested arrays?
DSA Typescript
const arr = Array(3).fill([0]);
arr[0][0] = 5;
console.log(arr);
A[[5], [5], [5]]
B[[5], [0], [0]]
C[[0], [0], [0]]
D[[5], [5], [0]]
Attempts:
2 left
💡 Hint
Consider whether fill creates separate inner arrays or references the same one.
🧠 Conceptual
expert
2:00remaining
Understanding Array Initialization with map vs fill
Which statement correctly explains the difference between initializing an array with fill and map in TypeScript?
Afill creates multiple references to the same object, map creates new objects for each element
Bfill creates new objects for each element, map creates multiple references to the same object
CBoth fill and map create new objects for each element
DBoth fill and map create multiple references to the same object
Attempts:
2 left
💡 Hint
Think about how fill and map assign values to array elements.

Practice

(1/5)
1. Which of the following is the correct way to declare an array of numbers in TypeScript?
easy
A. const numbers: number[] = [1, 2, 3];
B. const numbers: number = [1, 2, 3];
C. const numbers: array = (1, 2, 3);
D. const numbers = {1, 2, 3};

Solution

  1. Step 1: Understand TypeScript array syntax

    In TypeScript, arrays are declared using the type followed by square brackets, e.g., number[].
  2. Step 2: Check each option's syntax

    const numbers: number[] = [1, 2, 3]; correctly declares an array of numbers. Options A, B, and D use incorrect syntax for arrays.
  3. Final Answer:

    const numbers: number[] = [1, 2, 3]; -> Option A
  4. Quick Check:

    Array declaration with type[] = correct syntax [OK]
Hint: Use type[] to declare arrays in TypeScript [OK]
Common Mistakes:
  • Using type without [] for arrays
  • Using parentheses instead of square brackets
  • Using curly braces instead of square brackets
2. Which of the following is the correct syntax to initialize an empty array of strings in TypeScript?
easy
A. let names = string[];
B. let names: string = [];
C. let names: string[] = [];
D. let names: [] = string;

Solution

  1. Step 1: Identify correct type annotation for empty string array

    To declare an empty array of strings, use string[] as the type and assign an empty array [].
  2. Step 2: Validate each option

    let names: string[] = []; correctly uses let names: string[] = []. Others have syntax errors or wrong type placement.
  3. Final Answer:

    let names: string[] = []; -> Option C
  4. Quick Check:

    Empty array of strings = string[] = correct [OK]
Hint: Use type[] with empty brackets to declare empty arrays [OK]
Common Mistakes:
  • Omitting [] after type for arrays
  • Assigning type incorrectly after =
  • Using invalid syntax like let names = string[];
3. What will be the output of the following TypeScript code?
const arr: number[] = [10, 20, 30];
arr[1] = 50;
console.log(arr);
medium
A. [10, 20, 30]
B. [10, 50, 30]
C. [50, 20, 30]
D. Error: Cannot assign to arr[1]

Solution

  1. Step 1: Understand array element assignment

    Arrays allow changing elements by index. arr[1] changes the second element.
  2. Step 2: Apply the assignment and print

    arr[1] = 50 changes the second element from 20 to 50. Printing arr shows [10, 50, 30].
  3. Final Answer:

    [10, 50, 30] -> Option B
  4. Quick Check:

    Index assignment updates array element [OK]
Hint: Array index starts at 0; arr[1] is second element [OK]
Common Mistakes:
  • Thinking arrays are immutable
  • Confusing index 1 with index 0
  • Expecting syntax error on assignment
4. Identify the error in the following TypeScript array declaration:
let nums: number[] = (1, 2, 3);
medium
A. Array elements must be strings
B. Missing type annotation for nums
C. Using let instead of const
D. Using parentheses instead of square brackets for array initialization

Solution

  1. Step 1: Check array initialization syntax

    Arrays must be initialized with square brackets []. Parentheses () create a comma expression, not an array.
  2. Step 2: Identify the error

    Using (1, 2, 3) does not create an array but evaluates to 3. This is incorrect for array initialization.
  3. Final Answer:

    Using parentheses instead of square brackets for array initialization -> Option D
  4. Quick Check:

    Arrays use [] not () for initialization [OK]
Hint: Use [] for arrays, () is for grouping expressions [OK]
Common Mistakes:
  • Confusing parentheses with brackets
  • Ignoring type annotations
  • Thinking let vs const causes error here
5. You want to declare and initialize a 2D array of numbers with 3 rows and 2 columns, all initialized to zero. Which is the correct TypeScript code?
hard
A. const matrix: number[][] = [[0, 0], [0, 0], [0, 0]];
B. const matrix: number[3][2] = [[0, 0], [0, 0], [0, 0]];
C. const matrix: number[] = [0, 0, 0, 0, 0, 0];
D. const matrix = new Array(3, 2).fill(0);

Solution

  1. Step 1: Understand 2D array declaration in TypeScript

    2D arrays are arrays of arrays, so type is number[][].
  2. Step 2: Check initialization for 3 rows and 2 columns

    const matrix: number[][] = [[0, 0], [0, 0], [0, 0]]; correctly initializes 3 arrays each with 2 zeros. const matrix: number[3][2] = [[0, 0], [0, 0], [0, 0]]; uses invalid syntax. const matrix: number[] = [0, 0, 0, 0, 0, 0]; is 1D array. const matrix = new Array(3, 2).fill(0); creates array with 2 elements, not 2D.
  3. Final Answer:

    const matrix: number[][] = [[0, 0], [0, 0], [0, 0]]; -> Option A
  4. Quick Check:

    2D array = array of arrays with type number[][] [OK]
Hint: 2D arrays use type number[][] and nested brackets [OK]
Common Mistakes:
  • Using number[3][2] which is invalid in TypeScript
  • Confusing 1D and 2D array initialization
  • Using new Array with multiple arguments incorrectly
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