Bird
Raised Fist0
DSA Javascriptprogramming~5 mins

Array Declaration and Initialization in DSA Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Array Declaration and Initialization
O(n)
Understanding Time Complexity

When we create and fill an array, it takes some time depending on how many items we add.

We want to know how this time grows as the array gets bigger.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


const size = n;
const arr = new Array(size);
for (let i = 0; i < size; i++) {
  arr[i] = i * 2;
}
    

This code creates an array of size n and fills it with values.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for loop that assigns values to each array element.
  • How many times: Exactly n times, once for each element.
How Execution Grows With Input

As the array size grows, the number of assignments grows the same way.

Input Size (n)Approx. Operations
1010 assignments
100100 assignments
10001000 assignments

Pattern observation: The work grows directly in proportion to the size of the array.

Final Time Complexity

Time Complexity: O(n)

This means the time to create and fill the array grows linearly with the number of elements.

Common Mistake

[X] Wrong: "Creating an array and filling it is instant and does not depend on size."

[OK] Correct: Each element must be assigned a value, so the time grows with the number of elements.

Interview Connect

Understanding how array creation and filling scales helps you reason about performance in many coding problems.

Self-Check

"What if we used Array.fill() instead of a loop? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to declare an empty array in JavaScript?
easy
A. const arr = ();
B. const arr = [];
C. const arr = {};
D. const arr = array();

Solution

  1. Step 1: Understand array declaration syntax

    In JavaScript, arrays are declared using square brackets [].
  2. Step 2: Check each option

    const arr = []; uses square brackets which is correct. Options B and C use parentheses and curly braces which are incorrect for arrays. const arr = array(); uses a function call which is not valid.
  3. Final Answer:

    const arr = []; -> Option B
  4. Quick Check:

    Array declaration uses [] = const arr = []; [OK]
Hint: Arrays use square brackets [] for declaration [OK]
Common Mistakes:
  • Using parentheses () instead of square brackets
  • Using curly braces {} which declare objects
  • Trying to call array() like a function
2. Which of the following is the correct syntax to declare and initialize an array with values 1, 2, and 3?
easy
A. const arr = array[1, 2, 3];
B. const arr = (1, 2, 3);
C. const arr = {1, 2, 3};
D. const arr = [1, 2, 3];

Solution

  1. Step 1: Recall array initialization syntax

    Arrays are initialized with square brackets containing comma-separated values.
  2. Step 2: Evaluate each option

    const arr = [1, 2, 3]; correctly uses square brackets with values. Options B and C use parentheses and curly braces which are invalid. const arr = array[1, 2, 3]; uses incorrect syntax with 'array' keyword.
  3. Final Answer:

    const arr = [1, 2, 3]; -> Option D
  4. Quick Check:

    Array with values uses [] and commas = const arr = [1, 2, 3]; [OK]
Hint: Use square brackets with commas to list values [OK]
Common Mistakes:
  • Using parentheses instead of square brackets
  • Using curly braces which create objects
  • Trying to use 'array' keyword which doesn't exist
3. What will be the output of the following code?
const arr = new Array(3);
console.log(arr);
medium
A. [undefined, undefined, undefined]
B. [0, 0, 0]
C. [empty x 3]
D. SyntaxError

Solution

  1. Step 1: Understand new Array(n) behavior

    Using new Array(3) creates an array with length 3 but no defined values, called a sparse array.
  2. Step 2: Check console output for sparse arrays

    Console shows sparse arrays as [empty x 3], not as undefined or zeros.
  3. Final Answer:

    [empty x 3] -> Option C
  4. Quick Check:

    new Array(3) creates sparse array = [empty x 3] [OK]
Hint: new Array(n) creates empty slots, not undefined values [OK]
Common Mistakes:
  • Assuming new Array(n) fills with zeros
  • Thinking undefined values appear explicitly
  • Expecting a syntax error
4. Identify the error in the following array declaration and fix it:
const arr = new Array[1, 2, 3];
medium
A. Replace square brackets with parentheses: new Array(1, 2, 3);
B. Remove 'new' keyword: Array[1, 2, 3];
C. Use curly braces instead: new Array{1, 2, 3};
D. No error, code is correct

Solution

  1. Step 1: Identify correct syntax for new Array()

    The Array constructor requires parentheses, not square brackets, to pass elements.
  2. Step 2: Fix the syntax

    Change new Array[1, 2, 3] to new Array(1, 2, 3) to correctly create the array.
  3. Final Answer:

    Replace square brackets with parentheses: new Array(1, 2, 3); -> Option A
  4. Quick Check:

    Array constructor uses () not [] = Replace square brackets with parentheses: new Array(1, 2, 3); [OK]
Hint: Array constructor needs parentheses, not square brackets [OK]
Common Mistakes:
  • Using square brackets with new Array
  • Removing 'new' keyword incorrectly
  • Using curly braces which are invalid here
5. How can you programmatically create a 2D array (array of arrays) with 3 rows and 2 columns, all initialized to zero in JavaScript?
hard
A. const arr = Array.from({length: 3}, () => Array(2).fill(0));
B. const arr = Array(3).fill(Array(2).fill(0));
C. const arr = [[0,0],[0,0],[0,0]];
D. All of the above

Solution

  1. Step 1: Understand 2D array initialization

    Using Array.from with a function creates separate inner arrays to avoid shared references.
  2. Step 2: Analyze each option

    const arr = Array(3).fill(Array(2).fill(0)); fills outer array with the same inner array reference, causing changes in one row to affect all. const arr = Array.from({length: 3}, () => Array(2).fill(0)); correctly creates separate inner arrays. const arr = [[0,0],[0,0],[0,0]]; manually creates the array but is less flexible. All of the above is incorrect because only A is fully correct for dynamic initialization.
  3. Final Answer:

    const arr = Array.from({length: 3}, () => Array(2).fill(0)); -> Option A
  4. Quick Check:

    Use Array.from with function for separate inner arrays = const arr = Array.from({length: 3}, () => Array(2).fill(0)); [OK]
Hint: Use Array.from with function to avoid shared inner arrays [OK]
Common Mistakes:
  • Using fill with array causes shared references
  • Manually typing arrays is inflexible
  • Assuming all options are correct
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