How to remove element from an array in JavaScript?

How to remove element from an array in JavaScript?

var arr = [1,2,3,5,6];

I want to remove the 1st element of the array so that it becomes:
var arr = [2,3,5,6];

To extend this question, what if I want to remove the 2nd element of the array so that it becomes:
var arr = [1,3,5,6];

Solutions/Answers:

Solution 1:

For a more flexible solution, use the splice() function. It allows you to remove any item in an Array based on Index Value:

var indexToRemove = 0;
var numberToRemove = 1;

arr.splice(indexToRemove, numberToRemove);

Solution 2:

shift() is ideal for your situation. shift() removes the first element from an array and returns that element. This method changes the length of the array.

array = [1, 2, 3, 4, 5];

array.shift(); // 1

array // [2, 3, 4, 5]

Solution 3:

The Array.prototype.shift method removes the first element from an array, and returns it. It modifies the original array.

var a = [1,2,3]
// [1,2,3]
a.shift()
// 1
a
//[2,3]

Solution 4:

arr.slice(begin[,end])

is non destructive, splice and shift will modify your original array

Solution 5:

Wrote a small article about inserting and deleting elements at arbitrary positions in Javascript Arrays.

Here’s the small snippet to remove an element from any position. This extends the Array class in Javascript and adds the remove(index) method.

// Remove element at the given index
Array.prototype.remove = function(index) {
    this.splice(index, 1);
}

So to remove the first item in your example, call arr.remove():

var arr = [1,2,3,5,6];
arr.remove(0);

To remove the second item,

arr.remove(1);

Here’s a tiny article with insert and delete methods for Array class.

Essentially this is no different than the other answers using splice, but the name splice is non-intuitive, and if you have that call all across your application, it just makes the code harder to read.

Solution 6:

Maybe something like this:

arr=arr.slice(1);