Bird
Raised Fist0
DSA Typescriptprogramming~10 mins

Array Declaration and Initialization in DSA Typescript - Execution Trace

Choose your learning style10 modes available
Concept Flow - Array Declaration and Initialization
Start
↓
Declare array variable
↓
Allocate memory for array
↓
Initialize elements with values
↓
Array ready to use
↓
End
This flow shows how an array variable is declared, memory is allocated, elements are initialized, and the array becomes ready for use.
Execution Sample
DSA Typescript
let arr: number[] = [10, 20, 30];
console.log(arr);
This code declares an array of numbers with 3 elements and prints the array.
Execution Table
StepOperationArray StatePointer ChangesVisual State
1Declare variable 'arr'undefinedarr -> undefinedarr: undefined
2Allocate memory for 3 elements[_, _, _]arr -> allocated memoryarr: [_, _, _]
3Initialize arr[0] = 10[10, _, _]arr unchangedarr: [10, _, _]
4Initialize arr[1] = 20[10, 20, _]arr unchangedarr: [10, 20, _]
5Initialize arr[2] = 30[10, 20, 30]arr unchangedarr: [10, 20, 30]
6Print arr[10, 20, 30]arr unchangedOutput: [10, 20, 30]
7End[10, 20, 30]arr unchangedarr: [10, 20, 30]
💡 All elements initialized, array ready and printed.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5Final
arrundefinedundefined[_, _, _][10, _, _][10, 20, _][10, 20, 30][10, 20, 30]
Key Moments - 3 Insights
Why does the array show underscores (_) before initialization?
Before initialization, memory is allocated but elements have no values, shown as underscores in execution_table rows 2.
Is the variable 'arr' pointing to the array before allocation?
No, at step 1 'arr' is declared but undefined. It points to allocated memory only after step 2.
Why do we see 'arr unchanged' in pointer changes after initialization steps?
Because 'arr' points to the same array memory; only element values change, not the pointer itself.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the array state after step 4?
A[10, _, _]
B[10, 20, _]
C[_, _, _]
D[10, 20, 30]
💡 Hint
Check the 'Array State' column at step 4 in execution_table.
At which step does 'arr' first point to allocated memory?
AStep 3
BStep 1
CStep 2
DStep 5
💡 Hint
Look at 'Pointer Changes' column to see when 'arr' points to allocated memory.
If we declare 'let arr: number[] = [];' what would be the array state after allocation?
A[]
B[0, 0, 0]
C[_, _, _]
D[undefined]
💡 Hint
An empty array has no elements allocated, so array state is empty brackets.
Concept Snapshot
Array Declaration and Initialization:
- Declare with let arr: type[]
- Allocate memory for elements
- Initialize elements with values
- Array variable points to allocated memory
- Use array after initialization
- Example: let arr: number[] = [10, 20, 30];
Full Transcript
This concept shows how to declare and initialize an array in TypeScript. First, the array variable is declared but undefined. Then memory is allocated for the array elements. Each element is initialized with a value. The array variable points to the allocated memory. Finally, the array is ready to use and can be printed or accessed. The execution table tracks each step, showing the array state and pointer changes. Beginners often wonder about the underscores before initialization and when the variable points to memory. This trace clarifies those points step-by-step.

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