Alex Rivera | Logout

How do I unset an element in an array in javascript?

Asked 2008-10-16T00:17:42.267
170

How do I remove the key 'bar' from an array foo so that 'bar' won't show up in

for(key in foo){alert(key);}
Edit
Report

1 Answer

289

Don't use delete as it won't remove an element from an array it will only set it as undefined, which will then not be reflected correctly in the length of the array.

If you know the key you should use splice i.e.

myArray.splice(key, 1);

For someone in Steven's position you can try something like this:

for (var key in myArray) {
    if (key == 'bar') {
        myArray.splice(key, 1);
    }
}

or

for (var key in myArray) {
    if (myArray[key] == 'bar') {
        myArray.splice(key, 1);
    }
}
answered 2009-08-28T05:08:40.943

Your Answer