matrice JavaScript permite crearea unui grup iterabil de valori pe care le puteți manipula prin adăugarea și eliminarea elementelor.despre eliminarea elementelor, nu există o matrice simplă.eliminați metoda deci, cum ștergeți un element dintr-o matrice JavaScript?
matricea JavaScript are o varietate de moduri în care puteți șterge valorile matricei.,
Există diferite metode și tehnici pe care le puteți utiliza pentru a elimina elemente din matrice JavaScript:
- pop — Indeparteaza de la Sfârșitul de o Serie
- shift — Elimină de la început de o Serie
- splice — indeparteaza de la un anumit index Matrice
- filter — vă permite să programatic elimina elemente dintr-o Matrice
Veți învăța, de asemenea, unele alte moduri în care puteți elimina elemente dintr-o matrice care ar putea să nu fie atât de evident, ca cu Lodash.,cel mai simplu mod de a elimina unul sau mai multe elemente de la capăt dintr-o matrice de elemente este prin setarea proprietății lungime la o valoare mai mică decât valoarea curentă.orice element al cărui indice este mai mare sau egal cu noua lungime va fi eliminat.
„pop metoda” elimină ultimul element din matrice, se întoarce acel element, și actualizări durata de proprietate.,
„metoda pop” modifică matricea pe care este invocată, aceasta înseamnă, spre deosebire de utilizarea delete, ultimul element este eliminat complet și lungimea matricei este redusă.
Eliminarea Elementelor de la Începutul unei Matrice JavaScript
Cum a face tu a elimina primul element al unei matrice JavaScript?
„metoda shift” funcționează la fel ca metoda pop, cu excepția faptului că elimină primul element al unui tablou JavaScript în loc de ultimul.,
nu există parametri, deoarece metoda shift a eliminat doar primul element de matrice.când elementul este eliminat, elementele rămase sunt deplasate în jos.
„shift” metoda returnează elementul care a fost eliminat, actualizări indicii de celelalte elemente, și actualizări durata de proprietate.
dacă nu există elemente sau lungimea matricei este 0, metoda se întoarce nedefinită.,
utilizarea Splice pentru a elimina elemente de matrice în JavaScript
„metoda splice” poate fi folosit pentru a adăuga sau elimina elemente dintr-o matrice.
primul argument specifică locația la care să înceapă adăugarea sau eliminarea elementelor.
al doilea argument specifică numărul de elemente de eliminat.
al treilea și argumentele ulterioare sunt opționale, specifică elemente care trebuie adăugate la matrice.,
Aici vom folosi de îmbinare metoda de a elimina două elemente pornind de la poziția trei (zero-based index):
O matrice care conține eliminate elemente este returnat de „lipitură metodă”.
puteți vedea că matricea eliminată conține și matricea originală conține valorile rămase.de asemenea, puteți utiliza această metodă pentru a elimina o serie de elemente dintr-o matrice.,
Eliminarea Serie de Elemente De Valoare, Folosind Îmbinare
Dacă știți valoarea pe care doriți să eliminați de la o matrice puteți folosi „lipitură metodă”.
În primul rând, trebuie să identificați indexul elementului țintă.
apoi utilizați indexul ca element de pornire și eliminați doar un element.
acesta este un exemplu simplu în care elementele sunt întregi.,dacă aveți o serie de obiecte, veți avea nevoie de o rutină mai sofisticată și aceasta funcționează dacă doriți doar să eliminați un singur element.dacă doriți să eliminați mai multe elemente care corespund criteriilor dvs., există o eroare.
pe măsură ce elementele sunt eliminate din matrice, indicele continuă să crească și următorul element după ce valoarea potrivită este omisă.
soluția simplă este de a modifica exemplul de mai sus pentru a decreta variabila index, astfel încât să nu sări peste următorul element din matrice.,
În modificat de exemplu am adaugat 2 alte 5 valori pentru matrice.
am adăugat, de asemenea, „i—;” după apelul lipitură.acum, când executați bucla se va elimina fiecare element de potrivire.
folosind metoda de filtrare matrice pentru a elimina elementele de valoare
spre deosebire de „metoda lipitură”, „filtru” creează o nouă matrice.
filter() nu mută matricea pe care se numește, ci returnează una nouă.,
filter() are un singur parametru, o metodă de apel invers, care este declanșat ca metoda de filtrare iterează prin elementele de matrice.
acesta va trece trei valori la apel invers: valoarea curentă sau elementul, indexul matrice curent și matrice completă.
metoda de apel invers ar trebui să returneze fie true, fie false, este responsabilitatea dvs. să testați valoarea (elementul) pentru a vedea dacă îndeplinește criteriile dvs., dacă o face, puteți returna true.
elementele care returnează true sunt adăugate la o nouă matrice filtrată.,
Tu ar trebui să rețineți o nouă matrice care conține valorile corespunzătoare este returnat, matrice inițială este lăsat neatins.mi se pare util pentru că de multe ori vreau să păstrez o sursă de date originală, dar să recuperez subseturi bazate pe diferite seturi logice.
metoda Lodash array Remove
uneori bibliotecile de utilități sunt cea mai bună modalitate de a rezolva probleme mai complexe.Lodash oferă un set bogat de metode de manipulare matrice, unul pentru eliminarea elementelor.,
Lodash „elimina metoda” functioneaza mai mult ca matrice „filtru metodă”, nu salva original matrice de valori, dar elimină elemente de potrivire și le returnează o nouă matrice
Face o Elimina Metodă
după Cum am menționat înainte, nu există nici un nativ Matrice.eliminați metoda.biblioteca Lodash oferă o metodă care rezolvă această problemă, dar este posibil să nu doriți întotdeauna să utilizați o bibliotecă.aceasta nu înseamnă că nu puteți crea o metodă de utilitate.,
am creat o metodă de utilitate remove Array care poate fi adăugată la o bibliotecă helper sau utilitate.
ca Lodash „remove method” primul parametru este matricea țintă.
acesta utilizează matrice.filtru pentru a returna elemente care nu se potrivesc cu o valoare.
Această metodă este simplă, ea presupune valori simple cum ar fi numere sau siruri de caractere, ai putea modifica această metodă pentru a folosi un custom metodă de comparație, dar cred că ar fi mai ușor să folosești metoda filtru direct.,
în mod Explicit Elimina Elementele de Matrice Folosind Operatorul Delete
puteți elimina specifice elementele de matrice folosind operatorul delete
Folosind operatorul delete nu afectează durata de proprietate.
nici nu afectează indexurile elementelor ulterioare.
matricea devine rară, ceea ce este un mod fantezist de a spune că elementul șters nu este eliminat, ci devine nedefinit.
„șterge operatorul” este proiectat pentru a elimina proprietățile din obiectele JavaScript, care sunt obiecte.,
motivul pentru care elementul nu este de fapt eliminat din matrice este „șterge operatorul” este mai mult despre eliberarea de memorie decât ștergerea unui element.
memoria este eliberată atunci când nu mai există referințe la valoare.
ștergeți sau resetați o matrice JavaScript
Ce se întâmplă dacă doriți să goliți o întreagă matrice și să aruncați toate elementele sale?există câteva tehnici pe care le puteți utiliza pentru a crea o matrice goală sau nouă.,
Cel mai simplu și mai rapid tehnica este de a stabili o serie variabilă de la un array gol
problema acest lucru poate crea este atunci când aveți referințe la variabile.referințele la această variabilă nu se vor schimba, ele vor păstra în continuare valorile matricei originale.acest lucru, desigur, poate crea un bug 🐛.,
Acesta este un exemplu simplificat de acest scenariu
Un truc simplu pentru a șterge o matrice este de a regla lungimea de proprietate de la 0.
un Alt fel de nefiresc tehnica, este de a folosi „lipitură metoda”, care trece matrice lungime ca al 2-lea parametru.,
Acesta va returna o copie a originalului elemente, care poate fi la îndemână pentru scenariu
În ultimele două tehnici nu crea o nouă matrice, dar schimba matrice de elemente, acest lucru înseamnă referințe ar trebui să fie, de asemenea, actualizate.
există un alt mod, folosind o buclă de timp, mi se pare puțin ciudat, dar în același timp pare fantezist, așa că poate impresiona niște prieteni!,
Nu este o cale de mi-ar merge despre compensare o matrice JavaScript, dar funcționează și este ușor de citit.unele teste de performanță au arătat, de asemenea, că aceasta este cea mai rapidă tehnică, deci poate că este mai bună decât am crezut inițial!
rezumat
eliminarea elementelor de matrice JavaScript este o operație care are multe fațete, depinde de locul și modul în care doriți să eliminați elementul.nu există o singură metodă „remove” disponibilă, dar există diferite metode și tehnici pe care le puteți utiliza pentru a curăța elementele de matrice nedorite.,
Acest articol a revizuit aceste metode și modul în care acestea pot fi utilizate și sper că ați învățat o metodă pe care nu o știați.
Vă mulțumim pentru lectură!
Lasă un răspuns