Ultimele tutoriale de dezvoltare web
 

JavaScript Metode array


Puterea de matrice JavaScript constă în metodele de matrice.


Conversia Arrays la șiruri

Metoda JavaScript toString() convertește o matrice într - un șir de (comma separated) valori matrice.

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

Rezultat

Banana,Orange,Apple,Mango
Încearcă - l singur »

join() Metoda se alătură , de asemenea , toate elementele de matrice într - un șir.

Se comportă exact ca toString() , dar , în plus , puteți specifica separatorul:

Exemplu

var fruits = ["Banana", "Orange","Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");

Rezultat

Banana * Orange * Apple * Mango
Încearcă - l singur »

Popping și împingându

Când lucrați cu matrice, este ușor de a elimina elemente și de a adăuga noi elemente.

Aceasta este ceea ce popping și împingerea este:

Popping elemente dintr - o matrice, sau împingând elemente într - o matrice.


popping

pop() metoda elimină ultimul element dintr - o matrice:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();              // Removes the last element ("Mango") from fruits
Încearcă - l singur »

pop() metoda returnează valoarea care a fost "popped out" :

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();      // the value of x is "Mango"
Încearcă - l singur »

împingerea

push() Metoda adaugă un element nou la o matrice (at the end) anului (at the end) :

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");       //  Adds a new element ("Kiwi") to fruits
Încearcă - l singur »

push() Metoda returneaza noua lungime array:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi");   //  the value of x is 5
Încearcă - l singur »

Schimbarea Elemente

Shifting este echivalent cu popping, lucrează la primul element în loc de ultima.

shift() metoda elimină primul element matrice și "shifts" , toate celelalte elemente pentru un indice mai mic.

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();            // Removes the first element "Banana" from fruits
Încearcă - l singur »

unshift() metoda adaugă un element nou la o matrice (at the beginning) , și "unshifts" elemente mai vechi:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Adds a new element "Lemon" to fruits
Încearcă - l singur »

shift() metoda returneaza sirul care a fost "shifted out" .

unshift() Metoda returneaza noua lungime matrice.


schimbarea Elemente

Elementele de matrice sunt accesate folosind numărul lor de index:

Indexuri Array începe cu 0. [0] este primul element matrice, [1] este al doilea, [2] este al treilea ...

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";        // Changes the first element of fruits to "Kiwi"
Încearcă - l singur »

Proprietatea lungime oferă o modalitate ușoară de a adăuga un element nou la o matrice:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";          // Appends "Kiwi" to fruit
Încearcă - l singur »

Ștergerea Elemente

Deoarece matrice JavaScript sunt obiecte, elemente pot fi șterse folosind operatorul JavaScript delete :

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];           // Changes the first element in fruits to undefined
Încearcă - l singur »

Utilizarea delete pot lăsa găuri nedefinite în matrice. Utilizați pop() sau shift() în loc.


Matisirea unei matrice

splice() metoda poate fi utilizată pentru a adăuga elemente noi la o matrice:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
Încearcă - l singur »

Primul parametru (2) definește poziția în care trebuie adăugate noi elemente (spliced in) .

Al doilea parametru (0) definește câte elemente trebuie îndepărtate.

Restul parametrilor ( "Lemon" , "Kiwi" ) definesc noile elemente care trebuie adăugate.


Utilizarea splice() pentru a elimina elementele

Cu setarea parametrilor inteligent, puteți utiliza splice() pentru a elimina elementele fără a părăsi "holes" în matrice:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);        // Removes the first element of fruits
Încearcă - l singur »

Primul parametru (0) definește poziția în care trebuie adăugate noi elemente (spliced in) .

Al doilea parametru (1) definește câte elemente trebuie îndepărtate.

Restul parametrilor sunt omise. vor fi adăugate elemente noi.


Sortarea unei matrice

sort() metoda sorteaza o matrice în ordine alfabetică:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
Încearcă - l singur »

Inversarea unei matrice

reverse() metoda inversează elementele într - o matrice.

Puteți să-l utilizați pentru a sorta o matrice în ordine descrescătoare:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
fruits.reverse();         // Reverses the order of the elements
Încearcă - l singur »

Numeric Sortare

Implicit, sort() funcția ordonează valori ca șiruri.

Acest lucru funcționează bine pentru siruri de caractere ( "Apple" comes before "Banana" ) .

Cu toate acestea, în cazul în care numerele sunt sortate ca siruri de caractere, "25" este mai mare decât "100" , pentru că "2" este mai mare decât "1" .

Din acest motiv, sort() metoda va produce rezultate incorecte atunci când sortarea numerelor.

Puteți rezolva această problemă prin furnizarea de o funcție de comparare:

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Încearcă - l singur »

sau

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a>b});
Încearcă - l singur »

Utilizați același truc pentru a sorta un descendent matrice:

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Încearcă - l singur »

sau

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b>a});
Încearcă - l singur »

Funcția Compară

Scopul funcției de comparare este de a defini o ordine alternativă de sortare.

Funcția de comparare ar trebui să returneze o,, valoare negativă zero sau pozitivă, în funcție de argumentele:

function(a, b){return a-b}

Când sort() funcția compară două valori, trimite valorile funcției de comparare, și sortează valorile conform (, negativ, pozitiv la zero) valoarea returnată.

Exemplu:

Atunci când se compară 40 și de 100, cu sort() metoda apelează compara function(40,100) .

Funcția calculează 40-100 și returnează -60 (a negative value) .

Funcția de sortare va sorta 40 ca o valoare mai mică de 100.


Găsiți cel mai înalt (or Lowest) Valoare

Cum de a găsi cea mai mare valoare într-o matrice?

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
// now points[0] contains the highest value
Încearcă - l singur »

Și cel mai mic:

Exemplu

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
// now points[0] contains the lowest value
Încearcă - l singur »

Aderarea Arrays

concat() metoda creează o nouă matrice concatenand două tablouri:

Exemplu

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias","Linus"];
var myChildren = myGirls.concat(myBoys);     // Concatenates (joins) myGirls and myBoys
Încearcă - l singur »

concat() metoda poate lua orice număr de argumente matrice:

Exemplu

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias","Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);     // Concatenates arr1 with arr2 and arr3
Încearcă - l singur »

Feliere unei matrice

slice() metoda felii dintr - o bucată dintr - o matrice într - o nouă matrice.

Acest exemplu felii dintr - o parte dintr - o matrice pornind de la elementul matrice 1 ( "Orange" ) :

Exemplu

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);
Încearcă - l singur »

slice() metoda creează o nouă matrice. Ea nu elimina orice elemente din matrice sursă.

Acest exemplu felii dintr - o parte dintr - o matrice pornind de la element de matrice 3 ( "Apple" ) :

Exemplu

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);
Încearcă - l singur »

slice() metoda poate lua două argumente ca slice(1,3) .

Metoda selectează apoi elemente din argumentul de start, și până la (dar nu inclusiv), argumentul final.

Exemplu

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
Încearcă - l singur »

Dacă argumentul final este omis, la fel ca in primele exemple, slice() metoda de felii din restul de matrice.

Exemplu

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);
Încearcă - l singur »

valueOf() Metoda

valueOf() metoda este comportamentul implicit pentru o matrice. Se convertește o matrice la o valoare de tip primitiv.

JavaScript va converti automat o matrice într-un șir de caractere, atunci când este de așteptat o valoare de tip primitiv.

Din acest motiv, toate aceste exemple vor produce același rezultat:

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
Încearcă - l singur »

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.valueOf();
Încearcă - l singur »

Exemplu

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
Încearcă - l singur »

Toate obiectele JavaScript au un valueOf() și un toString() metoda.


Array complet de referință

Pentru o referință completă, du - te la nostru complet JavaScript Array de referință .

Referința conține descrieri și exemple ale tuturor proprietăților Array și metode.


Testați-te cu exerciții!

Exercițiul 1 » Exercițiul 2» Exercițiul 3 » Exercițiul 4» Exercițiul 5 »