How to delete specific array elements from within a foreach loop in javascript
arrays, javascript
Solution
var fruit = ["apple", "pear", "pear", "pear", "banana"],
i;
for (i = 0; i < fruit.length; ++i) {
if (fruit[i] === "pear") {
fruit.splice(i--, 1);
}
}
console.log(fruit);
//["apple", "banana"]
Problem
``` var fruit = ["apple","pear","pear","pear","banana"]; ``` How do I remove all "pear" fruit from this array? I tried the following, but still one pear remains: ``` for(var f in fruit) { if ( fruit[f] == "pear" ) { fruit.splice(f, 1); } } for(var f in fruit) { document.write(fruit[f]+"<br>"); } ``` Outputs: ``` apple pear banana ``` What am I doing wrong? Live demo: http://jsfiddle.net/SbxHc/