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 sechelJavaScript
// 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: - The
compare>
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ă pentru
sort()>
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