Array Access and Update at Index in DSA Javascript - Time & Space Complexity
We want to understand how fast we can get or change a value in an array by its position.
How does the time needed change when the array gets bigger?
Analyze the time complexity of the following code snippet.
const arr = [10, 20, 30, 40, 50];
// Access value at index 2
const value = arr[2];
// Update value at index 4
arr[4] = 60;
This code gets a value from the array and then changes a value at a specific position.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Direct access to an array element by index.
- How many times: Each access or update happens once, no loops or repeated steps.
Accessing or updating an element takes the same time no matter how big the array is.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 1 |
| 100 | 1 |
| 1000 | 1 |
Pattern observation: The time stays constant even if the array grows larger.
Time Complexity: O(1)
This means accessing or updating an element by index takes the same short time no matter how big the array is.
[X] Wrong: "Accessing an element takes longer if the array is bigger because it has to look through all items."
[OK] Correct: Arrays let us jump directly to the position, so the time does not depend on the array size.
Knowing that array access and update are very fast helps you choose the right data structure and explain your choices clearly in interviews.
"What if we used a linked list instead of an array? How would the time complexity for access and update change?"
Practice
arr[2] return if arr = [10, 20, 30, 40]?Solution
Step 1: Understand array indexing
Arrays start at index 0, so index 2 is the third element.Step 2: Identify the element at index 2
The element at index 2 in[10, 20, 30, 40]is 30.Final Answer:
30 -> Option DQuick Check:
Index 2 element = 30 [OK]
- Thinking index starts at 1
- Confusing element value with index
- Using negative index without explanation
nums to 50?Solution
Step 1: Recall array indexing syntax
In JavaScript, arrays use square brackets with zero-based index.Step 2: Identify correct index for 3rd element
The 3rd element is at index 2, sonums[2] = 50;is correct.Final Answer:
nums[2] = 50; -> Option CQuick Check:
Use square brackets and zero-based index [OK]
- Using parentheses instead of brackets
- Using 1-based index
- Using curly braces for arrays
let arr = [5, 10, 15, 20]; arr[1] = arr[3]; console.log(arr);
Solution
Step 1: Understand the assignment operation
The element at index 1 is set to the value at index 3, which is 20.Step 2: Update the array and print
Original array: [5, 10, 15, 20]. After update: [5, 20, 15, 20].Final Answer:
[5, 20, 15, 20] -> Option AQuick Check:
arr[1] = arr[3] updates second element to 20 [OK]
- Confusing indexes
- Expecting arr[3] to change
- Thinking assignment swaps values
let data = [1, 2, 3]; data[3] = 4; console.log(data);
Solution
Step 1: Understand JavaScript array behavior on out-of-range index
Assigning to index 3 adds a new element; arrays auto-expand.Step 2: Check the resulting array
Original: [1, 2, 3]. After assignment: [1, 2, 3, 4]. No error occurs.Final Answer:
No error, array expands and adds 4 at index 3 -> Option AQuick Check:
JS arrays auto-expand on assignment [OK]
- Expecting runtime error
- Thinking syntax error occurs
- Assuming array clears on assignment
let arr = [2, 4, 6, 8, 10]; write code to double the value at index 2 and then swap it with the value at index 4. What is the final array?Solution
Step 1: Double the value at index 2
Value at index 2 is 6. Doubling it: 6 * 2 = 12. Update arr[2] = 12.Step 2: Swap values at index 2 and index 4
Value at index 4 is 10. Swap arr[2] and arr[4]: arr[2] = 10, arr[4] = 12.Step 3: Write final array
Array after operations: [2, 4, 10, 8, 12].Final Answer:
[2, 4, 10, 8, 12] -> Option BQuick Check:
Double then swap results in [2,4,10,8,12] [OK]
- Swapping before doubling
- Mixing up indexes
- Not updating array correctly
Ready to prove it?
Pass the test and this pattern moves unknown
