Cum de a elimina javascript element de matrice

versiune detaliată

Să presupunem că avem un tablou simplu de siruri de caractere, de exemplu:

Conform regulii de cel puțin surpriză, matrice are o metodă de eliminare:

Vestea bună? O putem crea!

Dar, mai presus de toate, să vedem cum se face într-un mod standard:

Ce matisarea? Este simplu: elimină elementul de la indexul 1. Prima opțiune - este un index, iar al doilea - numărul de elemente care trebuie să fie eliminate, începând de la indexul specificat. Asta e tot ce este de știut despre funcția de îmbinare. Daca esti curios sa vezi ce alte lucruri se răcească pot face Funcția de îmbinare, consultați documentația MDN.

Dar ce se întâmplă dacă eu nu știu indicele unui element?

Ei bine, puteți să-l. Doar folosiți metoda indexOf, după cum urmează:

Vă rugăm să rețineți că Internet Explorer este versiunile anterioare opta și nu susțin indexOf (pentru astfel de cazuri pot fi utilizate polifill).

Extinderea obiectului Array

Aceasta este o caracteristică care în sfârșit am dat seama.

Știu că unii oameni nu ia în considerare extinderea Array o decizie bună, pentru că, așa cum se spune, aceasta poate duce la consecințe nedorite. Cu toate acestea, cred că funcția de eliminare este mult mai ușor de reținut și de a folosi decât lipitură, și sincer, eu nu văd nici un inconvenient în utilizarea acestei abordări. Ce crezi?

exemplu complet (ca de obicei, pentru consola browser-ului):

Se răcește! Dar. de ce nu pot folosi cuvântul cheie șterge?

Și va funcționa. Dar această metodă are un dezavantaj: nu este ușor de a elimina elementul din matrice, și, de fapt, înlocuiți-l cu o valoare nedefinită. De exemplu:

Acest lucru poate duce la rezultate neașteptate:

În concluzie, dacă nu vă pasă de aceste dezavantaje, puteți utiliza cuvântul cheie șterge; altfel - să utilizeze soluțiile descrise mai sus.

Ați descoperit o greșeală? Orphus: Ctrl + Enter

articole similare