Alex Rivera | Logout

How to remove a specific element in array in JavaScript

Asked 2012-06-07T22:14:41.307
33

If I have array, for example:

a = ["a", "b", "c"]

I need something like

a.remove("a");

How can I do this?

Edit
Report

2 Answers

16
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
    if(a[i]!=="a") 
        newArray.push(a[i]);

As of newer versions of JavaScript:

var a = ["a","b","c"];
var newArray = a.filter(e => e !== "a");
answered 2012-06-07T22:18:45.693
7
remove = function(ary, elem) {
    var i = ary.indexOf(elem);
    if (i >= 0) ary.splice(i, 1);
    return ary;
}

provided your target browser suppports array.indexOf, otherwise use the fallback code on that page.

If you need to remove all equal elements, use filter as Rocket suggested:

removeAll = function(ary, elem) {
    return ary.filter(function(e) { return e != elem });
}
answered 2012-06-07T22:17:14.723

Your Answer