110 of 264 menu

Metoda sort

Metoda sort realizează sortarea unui array în ordine lexicografică și returnează array-ul deja modificat. Ca parametru opțional se poate specifica o funcție personalizată pentru sortare.

Sintaxă

array.sort([funcție]);

Exemplu

Să sortăm un array:

let arr = ['d', 'b', 'a', 'c']; console.log(arr.sort());

Rezultatul executării codului:

['a', 'b', 'c', 'd']

Exemplu

Să sortăm un array cu numere:

let arr = [4, 1, 7, 2]; console.log(arr.sort());

Rezultatul executării codului:

[1, 2, 4, 7]

Exemplu

Să adăugăm în array mai multe numere și să-l sortăm:

let arr = [1, 123, 2, 4, 111, 7]; console.log(arr.sort());

În urma executării codului vom vedea că numerele nu sunt aranjate în ordine crescătoare, ci în ordine lexicografică, adică numerele sunt comparate între ele ca șiruri de caractere. În acest caz, comparația se face pentru fiecare caracter, dacă este mai mare codul primului caracter decât codul vecinului, etc. Rezultatul:

[1, 111, 123, 2, 4, 7]

Exemplu

Acum să sortăm array-ul cu ajutorul unei funcții, în care vom specifica condiția - dacă primul parametru este mai mare decât al doilea, atunci le schimbăm ordinea (pentru aceasta în return orice număr pozitiv). În caz contrar, schimbarea ordinii nu este necesară și specificăm 0 sau orice număr negativ:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { if (a > b) { return 1; } else { return -1; } }); console.log(arr);

Rezultatul executării codului:

[1, 2, 4, 7, 111, 123]

Exemplu

Să scurtăm codul din funcția noastră din exemplul anterior:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return a - b; }); console.log(arr);

Rezultatul executării codului:

[1, 2, 4, 7, 111, 123]

Exemplu

Iar acum cu ajutorul funcției să sortăm array-ul în ordine descrescătoare:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return b - a; }); console.log(arr);

Rezultatul executării codului:

[123, 111, 7, 4, 2, 1]

Exemplu

Să sortăm un array de obiecte după cheia 'one' în ordine crescătoare:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.one - b.one; }); console.log(arr);

Rezultatul executării codului:

[ {one: 1, two: 2}, {one: 3, two: 3}, {one: 7, two: 1} ]

Exemplu

Iar acum să sortăm array-ul de obiecte după cheia 'two':

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.two - b.two; }); console.log(arr);

Rezultatul executării codului:

[ {one: 7, two: 1}, {one: 1, two: 2}, {one: 3, two: 3} ]

Exemplu

Să verificăm dacă array-ul s-a modificat după aplicarea metodei sort:

let arr = ['b', 'a', 'd', 'c']; let res = arr.sort(); console.log(arr);

Rezultatul executării codului:

['a', 'b', 'c', 'd']

Vezi și

  • metoda filter,
    care permite filtrarea elementelor array-ului
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge