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 »