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 ]