Bird
Raised Fist0
DSA Javascriptprogramming~20 mins

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

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Deletion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output after deleting middle element from an odd-length array
What is the output of the following JavaScript code after deleting the middle element from the array?
DSA Javascript
let arr = [10, 20, 30, 40, 50];
let mid = Math.floor(arr.length / 2);
arr.splice(mid, 1);
console.log(arr);
A[10, 20, 30, 40, 50]
B[10, 20, 40, 50]
C[10, 30, 40, 50]
D[20, 30, 40, 50]
Attempts:
2 left
💡 Hint
Remember that splice removes elements starting at the given index.
❓ Predict Output
intermediate
2:00remaining
Output after deleting middle element from an even-length array
What is the output of the following JavaScript code after deleting the middle element from the array?
DSA Javascript
let arr = [5, 15, 25, 35, 45, 55];
let mid = Math.floor(arr.length / 2);
arr.splice(mid, 1);
console.log(arr);
A[5, 15, 25, 35, 55]
B[5, 15, 25, 35, 45, 55]
C[5, 15, 25, 45, 55]
D[15, 25, 35, 45, 55]
Attempts:
2 left
💡 Hint
For even length, mid is the lower middle index.
🔧 Debug
advanced
2:00remaining
Identify the error in deleting middle element
What error will the following code produce when trying to delete the middle element of an array?
DSA Javascript
let arr = [1, 2, 3, 4, 5];
let mid = arr.length / 2;
arr.splice(mid, 1);
console.log(arr);
ADeletes element at non-integer index, output: [1, 2, 3, 4, 5]
BTypeError: splice expects integer index
CDeletes wrong element, output: [1, 2, 3, 4, 5]
DNo error, output: [1, 2, 4, 5]
Attempts:
2 left
💡 Hint
Check the type of mid and how splice handles non-integer indices.
❓ Predict Output
advanced
2:00remaining
Output after deleting middle element using slice and concat
What is the output of the following JavaScript code that deletes the middle element without using splice?
DSA Javascript
let arr = [2, 4, 6, 8, 10];
let mid = Math.floor(arr.length / 2);
let newArr = arr.slice(0, mid).concat(arr.slice(mid + 1));
console.log(newArr);
A[2, 4, 8, 10]
B[4, 6, 8, 10]
C[2, 4, 6, 8, 10]
D[2, 6, 8, 10]
Attempts:
2 left
💡 Hint
slice(start, end) excludes the end index element.
🧠 Conceptual
expert
2:00remaining
Choosing the correct middle index for deletion in even-length arrays
In an array with even length, which index should be chosen as the middle to delete the element closest to the center?
AMath.floor(length / 2) - 1
BMath.floor(length / 2)
CMath.ceil(length / 2)
Dlength / 2
Attempts:
2 left
💡 Hint
Consider zero-based indexing and which element is closer to the center.

Practice

(1/5)
1. What happens when you delete the middle element from an array with an odd number of elements using array.splice(mid, 1) where mid is the middle index?
easy
A. The first element is removed instead.
B. The array remains unchanged.
C. All elements after the middle are removed.
D. The middle element is removed and the array size decreases by one.

Solution

  1. Step 1: Understand splice method behavior

    The splice method removes elements starting at the given index. Here, it removes 1 element at the middle index.
  2. Step 2: Effect on array size

    Removing one element reduces the array length by one, and elements after the removed one shift left.
  3. Final Answer:

    The middle element is removed and the array size decreases by one. -> Option D
  4. Quick Check:

    splice(mid, 1) removes middle element [OK]
Hint: Use splice(mid, 1) to remove middle element quickly [OK]
Common Mistakes:
  • Thinking splice does not change array size
  • Confusing splice with slice
  • Removing wrong index
2. Which of the following is the correct syntax to remove the middle element from an array arr in JavaScript?
easy
A. arr.delete(Math.floor(arr.length / 2));
B. arr.splice(Math.floor(arr.length / 2), 1);
C. arr.remove(Math.floor(arr.length / 2));
D. arr.pop(Math.floor(arr.length / 2));

Solution

  1. Step 1: Identify correct method to remove element by index

    JavaScript arrays use splice to remove elements at a specific index.
  2. Step 2: Calculate middle index correctly

    Math.floor(arr.length / 2) gives the middle index for odd or even length arrays.
  3. Final Answer:

    arr.splice(Math.floor(arr.length / 2), 1); -> Option B
  4. Quick Check:

    splice + floor middle index = correct syntax [OK]
Hint: Use splice with floor of length/2 for middle deletion [OK]
Common Mistakes:
  • Using non-existent methods like delete or remove
  • Using pop with index argument
  • Not flooring the middle index
3. What is the output of the following code?
let arr = [10, 20, 30, 40, 50];
let mid = Math.floor(arr.length / 2);
arr.splice(mid, 1);
console.log(arr);
medium
A. [10, 20, 40, 50]
B. [10, 20, 30, 40]
C. [10, 20, 30, 50]
D. [20, 30, 40, 50]

Solution

  1. Step 1: Calculate middle index

    Array length is 5, so middle index = floor(5/2) = 2.
  2. Step 2: Remove element at index 2

    Element at index 2 is 30, so splice removes 30.
  3. Step 3: Resulting array

    Array becomes [10, 20, 40, 50] after removal.
  4. Final Answer:

    [10, 20, 40, 50] -> Option A
  5. Quick Check:

    Removed element 30 at index 2 [OK]
Hint: Find middle index, splice removes that element [OK]
Common Mistakes:
  • Removing wrong index element
  • Not flooring middle index
  • Confusing splice with slice
4. Find the error in the code below that tries to remove the middle element from an array:
let arr = [1, 2, 3, 4, 5];
let mid = arr.length / 2;
arr.splice(mid, 1);
console.log(arr);
medium
A. splice cannot remove elements from arrays.
B. arr.length / 2 gives the last index, not middle.
C. mid should be floored to an integer before using in splice.
D. splice requires two arguments, but only one is given.

Solution

  1. Step 1: Check middle index calculation

    mid is calculated as arr.length / 2 = 2.5, which is a float, not an integer index.
  2. Step 2: Effect of float index in splice

    splice expects an integer index; JavaScript coerces 2.5 to 2, but explicitly using Math.floor(arr.length / 2) ensures clarity and avoids reliance on type coercion.
  3. Step 3: Correct approach

    Use Math.floor(arr.length / 2) to get integer index 2.
  4. Final Answer:

    mid should be floored to an integer before using in splice. -> Option C
  5. Quick Check:

    Index must be integer for splice [OK]
Hint: Always floor middle index before splice [OK]
Common Mistakes:
  • Using float index in splice
  • Assuming splice removes by value
  • Passing wrong number of arguments to splice
5. Given an array arr with an even number of elements, how can you remove the two middle elements correctly in JavaScript?
hard
A. Use arr.splice(arr.length / 2 - 1, 2);
B. Use arr.splice(arr.length / 2, 1); twice
C. Use arr.pop(); arr.shift();
D. Use arr.splice(arr.length / 2, 2);

Solution

  1. Step 1: Identify middle indices for even length

    For even length n, middle two elements are at indices n/2 - 1 and n/2.
  2. Step 2: Remove two elements starting at n/2 - 1

    Using arr.splice(arr.length / 2 - 1, 2) removes both middle elements at once.
  3. Step 3: Why other options fail

    Use arr.splice(arr.length / 2, 1); twice removes one element twice but shifts indices, causing wrong removal; Use arr.pop(); arr.shift(); removes first and last elements; Use arr.splice(arr.length / 2, 2); removes elements after middle.
  4. Final Answer:

    Use arr.splice(arr.length / 2 - 1, 2); -> Option A
  5. Quick Check:

    Remove two middle elements starting at n/2 - 1 [OK]
Hint: Start splice at n/2 - 1 to remove two middle elements [OK]
Common Mistakes:
  • Removing elements twice causing index shift
  • Removing first and last instead of middle
  • Starting splice at wrong index
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