Jedna operace, která se zdá být v každém programovacím jazyce obtížnější, než by měla být, je odstranění hodnoty z pole. Je to mentálně tak snadný koncept, že zkresluje náš programový pohled na úkol. V JavaScriptu je metoda spojování obrovskou pomocí při odstraňování položky z pole.
JavaScript Splice
Jeden splice
ve spojení s indexOf
odebere položku z pole:
// Start with an initial array var array = ["a", "b", "c"]; // Find and remove item from an array var i = array.indexOf("b"); if(i != -1) { array.splice(i, 1); }
Samozřejmě, pokud chcete odstranit více výskytů stejného řetězce/čísla, budete muset přidat trochu více logiky:
for(var i = array.length-1; i--;){ if (array[i] === "b") array.splice(i, 1); }
Možná si říkáte, že filter
metoda by fungovala...
array.filter(function(i) { return i != "b" });
...to ale vrátí nové pole, tedy nezmění původní.
Odstranění dané hodnoty z pole není příliš obtížné, když máte poblíž spolehlivý fragment!