De sort()> metode i JavaScript ordner elementene i en matrise på plass og returnerer den sorterte matrisen. Som standard sorterer den elementer alfabetisk, og behandler dem som strenger.
For numerisk sortering kan du imidlertid tilby en tilpasset sammenligningsfunksjon. Denne funksjonen dikterer sorteringskriteriene, og gir nøyaktig kontroll over sorteringsprosessen. `sort()` forbedrer effektiviteten og funksjonaliteten til JavaScript-applikasjoner ved å gjøre det mulig for deg å organisere array-elementer i henhold til spesifikke krav på en profesjonell og formell måte.
Syntaks
arr.sort(compareFunction);>
Parametere
array>: Matrisen som skal sorteres.compareFunction>(Valgfritt): En funksjon som definerer sorteringsrekkefølgen. Hvis de utelates, blir array-elementene sortert basert på strengen deres Unicode-kodepunkter.
Returverdi
Denne metoden returnerer referansen til den sorterte opprinnelige matrisen.
hvordan sjekke skjermstørrelsen
Eksempler:
Eksempel 1: Sortering av en rekke strenger
Dette eksemplet viser bruken av sort()-funksjonen.
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();> Produksjon
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Forklaring:
Desort()>metoden omorganiserer elementene iarr>array alfabetisk, og produserer utdataene['Geeks', 'Geeks', 'for']>.
Eksempel 2: Sortering av en rekke tall uten sammenligningsfunksjon
Her, den sortere() metoden arrangerer elementene i matrisen i stigende rekkefølge.
import maurJavaScript
// JavaScript to illustrate sort() function function func() { //Original string let arr = [2, 5, 8, 1, 4] //Sorting the array console.log(arr.sort()); } func();> Produksjon
[ 1, 2, 4, 5, 8 ]>
Forklaring:
Desort()>metode kalles på en rekke tall[2, 5, 8, 1, 4]>. Desort()>metoden vil sortere elementene alfabetisk fordi ingen sammenligningsfunksjon er gitt. Derfor vil utgangen være[1, 2, 4, 5, 8]>, som er sortert alfabetisk basert på strengrepresentasjonene til tallene.
fjærmoduler
Eksempel 3: Sortering av numerisk verdi uten sammenligningsfunksjon
Her sorterer vi numerisk verdi uten sammenligningsfunksjon
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Produksjon
[ -120, 0, 100, 20, 30, 5.2 ]>
Forklaring:
Når du brukersort()>metode uten en sammenligningsfunksjon, sorterer JavaScript array-elementer som strenger som standard, noe som kanskje ikke alltid gir de forventede resultatene for numeriske arrays. La oss bryte ned sorteringsprosessen:
- JavaScript konverterer hvert element i matrisen til en streng.
- Den sammenligner deretter UTF-16-kodeenhetene for hvert tegn i strengene og sorterer dem basert på Unicode-kodepunktverdien.
Her er hva som skjer med matrisen din:
- Tallene konverteres til strenger:
['20', '5.2', '-120', '100', '30', '0']>. - Når sortert alfabetisk,
-120>kommer først fordi->har en lavere Unicode-kodepunktverdi enn sifre (0>til9>). Så kommer0>, etterfulgt av100>,20>,30>, og5.2>.
Eksempel 4: Sortering av numerisk verdi med sammenligningsfunksjon
javascript utskrift
Vi kan løse den uventede feilen som oppstod i eksemplet ovenfor ved å bruke sort()-metoden for numerikk ved å bruke følgende sammenligningsfunksjon.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 ville bli plassert før 20, 20 - (-120) = +ve => -120 ville bli plassert før 20, 20 - (100) = -ve => 100 ville bli plassert etter 20, 20 - (30) = - ve => 30 vil bli plassert etter 20, 20 - (0) = +ve => 0 vil bli plassert før 20. På samme måte for hvert element sjekker vi og plasserer dem deretter i iterasjoner. */ function compare(a, b) { return a - b; } console.log(numbers.sort(compare));> Produksjon
[ -120, 0, 5.2, 20, 30, 100 ]>
Forklaring:
- De
compare>funksjon trekker frab>fraa>. Hvis resultatet er negativt,a>kommer førb>i den sorterte matrisen; hvis det er positivt,b>kommer føra>; hvis null, forblir deres relative rekkefølge uendret. - Ved å gi denne tilpassede sammenligningsfunksjonen til
sort()>metode, sorterer JavaScript matrisennumbers>basert på de numeriske verdiene til elementene.
Vennligst gå gjennom dette Hvordan sortere numerisk matrise ved hjelp av JavaScript? , for å vite hvordan javascript array-sorteringsfunksjonen fungerer
Vi har en komplett liste over Javascript Array-metoder, for å sjekke dem, gå gjennom dette Javascript Array Komplett referanse artikkel.
Støttede nettlesere:
- Google Chrome
- Kant
- Internet Explorer
- Firefox
- Opera
- Safari