DEV Community

Vraj Parikh
Vraj Parikh

Posted on • Edited on

Deleting an Element from an Array in JavaScript

Deleting elements from arrays is a common task in JavaScript. Here’s a step-by-step guide on how to do it efficiently with DSA approach.

Simple Deletion Method

  1. Start the loop at the position of the element to delete.
  2. Copy the next element to the current position.
  3. Pop the last element to remove the extra space.
let data = [41, 23, 63, 42, 59];
let deletePosition = 0;
for (let i = deletePosition; i < data.length; i++) {
  data[i] = data[i + 1];
}
data.pop();
console.log(data); // Output: [23, 63, 42, 59]
Enter fullscreen mode Exit fullscreen mode

Handling Errors

To prevent issues with invalid positions (negative or out of bounds), add error handling:

let data = [41, 23, 63, 42, 59];
let deletePosition = 5;

if (deletePosition < 0 || deletePosition >= data.length) {
  console.error("Position out of bounds");
} else {
  for (let i = deletePosition; i < data.length; i++) {
    data[i] = data[i + 1];
  }
  data.pop();
  console.log(data); // Output: [41, 23, 63, 42, empty]
}
Enter fullscreen mode Exit fullscreen mode

Optimized Approach

An optimized way maintains the original data integrity by creating a new array:

let data = [41, 23, 63, 42, 59];
let deletePosition = 2; // Adjusting for zero-based index

let newData = [];
let newIndex = 0;

for (let i = 0; i < data.length; i++) {
  if (i !== deletePosition) {
    newData[newIndex] = data[i];
    newIndex++;
  }
}

console.log(newData); // Output: [41, 23, 42, 59]
Enter fullscreen mode Exit fullscreen mode

This approach ensures your data remains intact while efficiently removing the desired element. Always remember to handle errors to avoid unexpected results.

Yoo!
Happy coding!

Top comments (3)

Collapse
 
rfool profile image
Robert Frunzke

What about splice or toSpliced?

ie:

let newData = data.toSpliced(deletePosition,1);

Collapse
 
syedmuhammadaliraza profile image
Syed Muhammad Ali Raza

there is more ways ,nowadays developer used filter, splice method

Collapse
 
andrew-saeed profile image
Andrew Saeed

Clear and concise, Vraj!