Bird
Raised Fist0
DSA Javascriptprogramming~20 mins

Array Insertion at Middle Index in DSA Javascript - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Insertion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output after inserting at the middle index?
Consider the following JavaScript code that inserts a value into the middle of an array. What will be the printed array after the insertion?
DSA Javascript
const arr = [10, 20, 30, 40, 50];
const middleIndex = Math.floor(arr.length / 2);
arr.splice(middleIndex, 0, 25);
console.log(arr);
A[10, 20, 25, 30, 40, 50]
B[25, 10, 20, 30, 40, 50]
C[10, 25, 20, 30, 40, 50]
D[10, 20, 30, 25, 40, 50]
Attempts:
2 left
💡 Hint
Remember that splice inserts elements starting at the given index, shifting existing elements to the right.
❓ Predict Output
intermediate
2:00remaining
What is the output after inserting in an even-length array?
Given the code below, what will be the array printed after inserting 15 at the middle index?
DSA Javascript
const arr = [5, 10, 20, 25];
const middleIndex = Math.floor(arr.length / 2);
arr.splice(middleIndex, 0, 15);
console.log(arr);
A[5, 10, 20, 25, 15]
B[5, 10, 15, 20, 25]
C[15, 5, 10, 20, 25]
D[5, 15, 10, 20, 25]
Attempts:
2 left
💡 Hint
For even length arrays, middle index is floor of length/2, which is the first of the two middle positions.
🔧 Debug
advanced
2:00remaining
Why does this insertion code not insert at the middle?
The code below is intended to insert 100 at the middle index of the array. Why does it not work as expected?
DSA Javascript
const arr = [1, 2, 3, 4, 5];
const middleIndex = arr.length / 2;
arr.splice(middleIndex, 0, 100);
console.log(arr);
AThe code throws a TypeError because middleIndex is not an integer.
Bsplice cannot insert elements, only remove them.
CThe array is immutable, so splice does not change it.
DmiddleIndex is a float, splice expects an integer index, so insertion happens at a wrong position.
Attempts:
2 left
💡 Hint
Check the value and type of middleIndex before using it in splice.
❓ Predict Output
advanced
2:00remaining
What is the output after multiple insertions at middle?
What will be the array after running this code that inserts multiple values at the middle index sequentially?
DSA Javascript
const arr = [1, 2, 3, 4];
let middleIndex = Math.floor(arr.length / 2);
arr.splice(middleIndex, 0, 10);
middleIndex = Math.floor(arr.length / 2);
arr.splice(middleIndex, 0, 20);
console.log(arr);
A[1, 2, 10, 20, 3, 4]
B[1, 2, 20, 10, 3, 4]
C[1, 10, 2, 20, 3, 4]
D[10, 20, 1, 2, 3, 4]
Attempts:
2 left
💡 Hint
Remember to recalculate the middle index after each insertion because array length changes.
🧠 Conceptual
expert
2:00remaining
What is the time complexity of inserting an element at the middle of a JavaScript array?
Consider inserting an element at the middle index of a JavaScript array using splice. What is the time complexity of this operation in terms of the array length n?
AO(log n) because the array is split and merged efficiently.
BO(1) because splice inserts directly without shifting.
CO(n) because elements after the insertion point must be shifted.
DO(n^2) because splice copies the entire array each time.
Attempts:
2 left
💡 Hint
Think about what happens to elements after the insertion point.

Practice

(1/5)
1. What does inserting an element at the middle index of an array mean?
easy
A. Adding the element exactly in the center position of the array
B. Adding the element at the start of the array
C. Adding the element at the end of the array
D. Replacing the first element with the new element

Solution

  1. Step 1: Understand array indexing

    Arrays have positions starting from 0 to length-1. The middle index is roughly length/2.
  2. Step 2: Define insertion at middle

    Inserting at middle means placing the new element at the middle index, shifting others right.
  3. Final Answer:

    Adding the element exactly in the center position of the array -> Option A
  4. Quick Check:

    Middle insertion = center position [OK]
Hint: Middle index is array length divided by 2 [OK]
Common Mistakes:
  • Confusing middle with start or end
  • Replacing element instead of inserting
  • Not shifting elements after insertion
2. Which of the following is the correct syntax to insert an element 'x' at the middle index of array 'arr' in JavaScript?
easy
A. arr.insert(Math.floor(arr.length / 2), x);
B. arr.add(Math.floor(arr.length / 2), x);
C. arr.splice(Math.floor(arr.length / 2), 0, x);
D. arr.push(Math.floor(arr.length / 2), x);

Solution

  1. Step 1: Identify JavaScript method for insertion

    JavaScript arrays use splice(start, deleteCount, items...) to insert elements.
  2. Step 2: Calculate middle index and insert

    Using Math.floor(arr.length / 2) gives middle index; splice with 0 deletes nothing and inserts 'x'.
  3. Final Answer:

    arr.splice(Math.floor(arr.length / 2), 0, x); -> Option C
  4. Quick Check:

    splice + middle index + 0 delete = insert [OK]
Hint: Use splice with 0 delete count to insert [OK]
Common Mistakes:
  • Using non-existent insert or add methods
  • Using push which adds only at end
  • Not calculating middle index correctly
3. What will be the output of the following code?
const arr = [10, 20, 30, 40];
arr.splice(Math.floor(arr.length / 2), 0, 25);
console.log(arr);
medium
A. [10, 20, 25, 30, 40]
B. [10, 20, 30, 25, 40]
C. [25, 10, 20, 30, 40]
D. [10, 20, 30, 40, 25]

Solution

  1. Step 1: Calculate middle index

    arr.length = 4, middle index = Math.floor(4/2) = 2.
  2. Step 2: Insert 25 at index 2

    Using splice(2, 0, 25) inserts 25 at index 2, shifting elements right.
  3. Final Answer:

    [10, 20, 25, 30, 40] -> Option A
  4. Quick Check:

    Insert at index 2 shifts right [OK]
Hint: Middle index = floor(length/2), splice inserts at that index [OK]
Common Mistakes:
  • Inserting at wrong index
  • Appending instead of inserting
  • Misunderstanding splice parameters
4. Identify the error in the following code that tries to insert 15 at the middle of array 'nums':
const nums = [5, 10, 20, 25];
nums.insert(nums.length / 2, 15);
console.log(nums);
medium
A. The middle index calculation is incorrect
B. 'insert' is not a valid array method in JavaScript
C. The element 15 should be added using push()
D. The array should be declared with let instead of const

Solution

  1. Step 1: Check array method used

    JavaScript arrays do not have an 'insert' method; splice should be used instead.
  2. Step 2: Confirm middle index calculation

    nums.length / 2 = 2 is correct, but method is invalid causing error.
  3. Final Answer:

    'insert' is not a valid array method in JavaScript -> Option B
  4. Quick Check:

    Use splice, not insert [OK]
Hint: Remember: JavaScript arrays use splice, not insert [OK]
Common Mistakes:
  • Using non-existent insert method
  • Ignoring method errors
  • Confusing push with insert
5. Given an array arr = [1, 3, 5, 7, 9], write code to insert the number 4 exactly in the middle so that the array remains sorted. What will be the final array?
hard
A. [1, 3, 5, 7, 9, 4]
B. [1, 3, 5, 4, 7, 9]
C. [4, 1, 3, 5, 7, 9]
D. [1, 3, 4, 5, 7, 9]

Solution

  1. Step 1: Find middle index for insertion

    arr.length = 5, middle index = Math.floor(5 / 2) = 2.
  2. Step 2: Insert 4 at index 2 using splice

    arr.splice(2, 0, 4) inserts 4 before element 5, keeping array sorted.
  3. Final Answer:

    [1, 3, 4, 5, 7, 9] -> Option D
  4. Quick Check:

    Insert 4 at index 2 keeps order [OK]
Hint: Insert at floor(length/2) to keep sorted order [OK]
Common Mistakes:
  • Inserting at wrong index breaking order
  • Appending instead of inserting
  • Not using splice correctly
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