Schleife zum Entfernen eines Elements in einem Array mit mehreren Vorkommen

Ich möchte ein Element in einem Array mit mehreren Vorkommen mit einer Funktion entfernen.

var array=["hello","hello","world",1,"world"];

function removeItem(item){
    for(i in array){
        if(array[i]==item) array.splice(i,1);
    }
}
removeItem("world");
//Return hello,hello,1
removeItem("hello");
//Return hello,world,1,world

Diese Schleife entfernt das Element nicht, wenn es zweimal hintereinander wiederholt wird, sondern nur eines von ihnen.

Warum?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage