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); } }