Jak zruším nastavení prvku v poli v javascriptu?

Jak odstraním klíč „bar“ z pole foo, aby se „bar“ nezobrazoval v

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

Odpověď

Nepoužívejte smazat protože neodstraní prvek z pole, nastaví jej pouze jako nedefinovaný, což se pak správně neprojeví v délce pole.

Pokud znáte klíč, měli byste použít splice tj.

myArray.splice(key, 1);

Pro někoho na Stevenově pozici můžete zkusit něco takového:

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

nebo

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