Adăugarea și ștergerea elementelor

Adăugarea și ștergerea elementelor

Adăugați elemente la matrice, precum și a le elimina, este de asemenea posibil, precum și proprietățile obișnuite ale oricăror alte obiecte. Având în vedere că singura diferență că adăugarea de proprietăți numerice se pot schimba de proprietate lungime. și la schimbarea proprietăților de lungime sunt îndepărtate proprietăți numerice. În general, proprietățile set algoritm în matrice, cum ar fi următoarele:

  • Când adăugați proprietăți numerice inexistente i. dacă lungimea este mai mică sau egală cu i. lungimea este egală cu i + 1.
  • La schimbarea lungimii proprietăților
    • În cazul în care valoarea atribuită este mai mică de 0, apoi papură RangeError.
    • Șterge toate indicele de proprietăți numerice mai mare și egală cu noua lungime.

Din faptul că lungimea de instalare sunt eliminate elemente „extra“ ar trebui metodă de curățare matrice. Dacă din anumite motive nu sunt mulțumiți de atribuirea unei variabile array gol, și este necesar pentru a reseta cel existent, este suficient să-l atribuie proprietatea de lungime este 0.

Metode de împingere. pop. schimbare și unshift

În ciuda faptului că este posibil și de schimbare elemente ale șirului de mână, este recomandat să folosiți pentru acest metode încorporate care vor asigura că nu lacune în matrice și valoarea corectă a lungimii. Corect, în sensul că va fi egal cu numărul de elemente de matrice.

metoda de tip push adaugă elementele transferate în cele din urmă matrice. Metoda pop returneaza ultimul element al matrice și îl elimină.

Metoda unshift adaugă elemente transferate în partea superioară a șirului. Elementele vor fi plasate în aceeași ordine în care au fost transmise. Metoda de schimbare returnează primul element și îl elimină.

În Internet Explorer, în conformitate cu versiunea a 8 unshift returnează o valoare nedefinită. în toate celelalte browsere - noua valoare a lungimii. Deci, este mai bine să nu spere revenirea valorii unshift.

Adăugarea / ștergerea elementelor în mijlocul șirului

Metoda splice are Array.prototype.splice semnătură (start, deleteCount [, item1 [, ITEM2 []].]).

Se elimină din elementele de matrice deleteCount de la indexul de început. Dacă treci mai mult de două argumente, a treia și următoarele argumente sunt introduse în matrice în loc de șters. Dacă start este negativ, indicele la care să înceapă îndepărtarea, va începe o lungime egală +. Returnează o serie de elemente de la distanță. Astfel, folosind metoda elementelor de îmbinare a poate fi scos din mijlocul matrice sau pentru a adăuga o valoare arbitrară într-o poziție arbitrară matrice.

În cel mai simplu caz, dacă doriți să eliminați un articol din indexul i. atunci ai nevoie pentru a apela o metodă pe matrice lipitură cu argumente I și 1.

În general vorbind, al doilea argument în metoda de îmbinare este opțională, dar comportamentul funcției cu un argument este diferit în diferite browsere.

  • În Firefox, cele mai recente versiuni de Opera, toate elementele de la început până la sfârșit de matrice vor fi șterse în Safari și Chrome.
  • În IE nu va elimina nici un element.
  • În versiunile anterioare de comportament Opera este chiar și mai puțin previzibile - va fi eliminat un element la indexul de început - 1. adică lea de pornire într-un rând.

Prin urmare, ar trebui să treacă întotdeauna în metoda cel puțin două elemente.