logo

JavaScript Array sort() Metoda

The sort()> metodă în JavaScript aranjează elementele unei matrice în loc și returnează matricea sortată. În mod implicit, sortează elementele alfabetic, tratându-le ca șiruri.

Cu toate acestea, pentru sortarea numerică, puteți oferi o funcție de comparare personalizată. Această funcție dictează criteriile de sortare, permițând un control precis asupra procesului de sortare. `sort()` îmbunătățește eficiența și funcționalitatea aplicațiilor JavaScript, permițându-vă să organizați elementele matricei conform cerințelor specifice într-o manieră profesională și formală.



Sintaxă

arr.sort(compareFunction);>

Parametrii

  • array>: Matricea de sortat.
  • compareFunction>(Opțional): O funcție care definește ordinea de sortare. Dacă sunt omise, elementele matricei sunt sortate pe baza șirului lor de puncte de cod Unicode.

Valoare returnată



Această metodă returnează referința matricei originale sortate.

butonul central în css

Exemple:

Exemplul 1: Sortarea unei matrice de șiruri

Acest exemplu arată utilizarea funcției sort().



tipuri de date sechel
JavaScript
// JavaScript to illustrate sort() function function func() {  // Original string  let arr = ['Geeks', 'for', 'Geeks']  console.log(arr);  // Sorting the array  console.log(arr.sort()); } func();>

Ieșire
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Explicaţie:

Thesort()>metoda rearanjează elementelearr>matrice în ordine alfabetică, producând rezultatul['Geeks', 'Geeks', 'for']>.

Exemplul 2: Sortarea unei matrice de numere fără funcție de comparare

Aici fel() metoda aranjează elementele tabloului în ordine crescătoare.

JavaScript
// JavaScript to illustrate sort() function function func() {  //Original string  let arr = [2, 5, 8, 1, 4]  //Sorting the array  console.log(arr.sort()); } func();>

Ieșire
[ 1, 2, 4, 5, 8 ]>

Explicaţie:

Thesort()>metoda este apelată pe o matrice de numere[2, 5, 8, 1, 4]>. Thesort()>metoda va sorta elementele alfabetic deoarece nu este furnizată nicio funcție de comparație. Prin urmare, rezultatul va fi[1, 2, 4, 5, 8]>, care este sortat alfabetic pe baza reprezentărilor în șir ale numerelor.

Exemplul 3: Sortarea valorii numerice fără funcție de comparare

Aici, sortăm valori numerice fără funcție de comparare

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>

Ieșire
[ -120, 0, 100, 20, 30, 5.2 ]>

Explicaţie:

programul sistemului

Când utilizațisort()>metoda fără o funcție de comparare, JavaScript sortează elementele matricei ca șiruri în mod implicit, ceea ce poate să nu producă întotdeauna rezultatele așteptate pentru matricele numerice. Să descompunem procesul de sortare:

  • JavaScript convertește fiecare element al matricei într-un șir.
  • Apoi compară unitățile de cod UTF-16 ale fiecărui caracter din șiruri și le sortează pe baza valorii punctului de cod Unicode.

Iată ce se întâmplă cu matricea dvs.:

  • Numerele sunt convertite în șiruri de caractere:['20', '5.2', '-120', '100', '30', '0']>.
  • Când sunt sortate alfabetic,-120>vine pe primul loc pentru că->are o valoare mai mică a punctului de cod Unicode decât cifrele (0>la9>). Apoi vine0>, urmată de100>,20>,30>, și5.2>.

Exemplul 4: Sortarea valorii numerice cu funcția de comparare

Putem rezolva eroarea neașteptată care a apărut în exemplul de mai sus utilizând metoda sort() pentru cifre folosind următoarea funcție de comparare.

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 ar fi plasat înainte de 20, 20 - (-120) = +ve => -120 ar fi plasat înainte de 20, 20 - (100) = -ve => 100 ar fi plasat după 20, 20 - (30) = - ve => 30 ar fi plasat după 20, 20 - (0) = +ve => 0 ar fi plasat înainte de 20, În mod similar pentru fiecare element, le verificăm și le plasăm corespunzător în iterații. */ function compare(a, b) { return a - b; } console.log(numbers.sort(compare));>>>  
Ieșire Explicaţie:

  • Thecompare>funcția scadeb>dina>. Dacă rezultatul este negativ,a>vine înainte deb>în tabloul sortat; dacă este pozitiv,b>vine înainte dea>; dacă este zero, ordinea lor relativă rămâne neschimbată.
  • Prin furnizarea acestei funcții de comparare personalizată pentrusort()>metoda, JavaScript sortează matriceanumbers>pe baza valorilor numerice ale elementelor sale.

Vă rugăm să treceți prin asta Cum se sortează matricea numerică folosind JavaScript? , pentru a ști cum funcționează funcția de sortare a matricei javascript

jquery acest clic

Avem o listă completă de metode Javascript Array, pentru a le verifica, vă rugăm să parcurgeți aceasta Javascript Array Referință completă articol.

Browsere acceptate:

  • Google Chrome
  • Margine
  • Internet Explorer
  • Firefox
  • Operă
  • Safari