How to remove a specific item from an array in Javascript

There are number of solutions to remove a specific item from an array in Javascript. Let say you have an array

var array = [1, 2, 3, 4, 5, 6]

and you want to remove the number 3 from that above array. Let do it

Method 1: Using splice #

If you know the index of the item in the array, you can easily remove it with splice

var array = [1, 2, 3, 4, 5, 6]
array.splice(i, 1);

If you don't know the index, you have to find the index of the array element you want to remove using indexOf, and then remove that index with splice.

var array = [1, 2, 3, 4, 5, 6]
console.log(array);

const index = array.indexOf(3);
if (index > -1) {
  array.splice(index, 1);
}

// array = [2, 9]
console.log(array); 

The second parameter of splice is the number of elements to remove. Note that splice modifies the array in place and returns a new array containing the elements that have been removed.

Method 2: Using filter #

Javascript comes with handy filter function

To remove an item from array using filter

var value = 2

var arr = [1, 2, 3, 4, 5, 2]

arr = arr.filter(function(item) {
    return item !== value
})

console.log(arr)
// [ 1, 3, 4, 5 ]

or it is a little simple with arrow function if you are using ECMAScript 6

let value = 2

let arr = [1, 2, 3, 4, 5, 2]

arr = arr.filter(item => item !== value)

console.log(arr)
// [ 1, 3, 4, 5 ]

Tags:

Javascript