Det sorteringsmetode bruges til at arrangere forskellige elementer i en matrix i en bestemt rækkefølge.
Syntaks
Den generelle syntaks for sorteringsmetoden er:
array.sortere();Denne metode returnerer det sorterede array i stigende rækkefølge som standard.
Vi diskuterede et par eksempler for at forstå sorteringsmetoden i JavaScript.
Eksempler
Vi antager en række streng, hvor vi har nogle forskellige navne på Linux-operativsystemer.
lad arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Nu, hvis vi anvender sorteringsmetoden over denne matrix:
arr.sortere();Det vil helt sikkert sortere arrayet i alfabetisk rækkefølge. Vi kan se output i skærmbilledet nedenfor.
Men hvis vi ønsker at få strengen i omvendt / faldende rækkefølge. Vi kan anvende et Javascript's indbyggede omvendte funktion over det sorterede array som dette:
var sortedArray = arr.sortere();sorteretArray.baglæns();
Den kortere måde at gøre omvendt på er:
arr.sortere().baglæns();I orden! Det fungerede fint for strengen. Lad os prøve, om det også fungerer for tallene.
Så vi antager først en række numre.
Anvend derefter sorteringsmetoden over antallet af tal.
arr.sortere();Det ser ud til, at det ikke fungerede godt, som det gjorde for strengen. Fordi sorteringsmetoden først konverterer tallene til strengene og derefter sorterer på basis af Unicode. Skønt "8" kommer inden "14" i numerisk rækkefølge. Men i UTF-16-kodeenhedsrækkefølge kommer "14" før "8". Den gode ting i Javascript, vi fik løsningen på dette.
CompareFunction
Her kommer begrebet sammenligningsfunktion, der er praktisk til at hjælpe med at sortere numrene. Vi kan bruge en sammenligningsfunktion til sorteringsmetoden som en tilbagekaldsfunktion, som tager to elementer. Derefter sorterer de dem efter vores krav i sammenligningsfunktionen og returnerer dem til sorteringsmetoden og løbende gør dette, indtil det når slutningen af arrayet.
Syntaksen for sorteringsmetoden med comparFunction vil være sådan:
array.sorter (sammenligneFunktion);Nu, hvis vi ser på de tekniske detaljer i sammenligningsfunktionen, så fungerer det faktisk. Hvis vi ikke giver en sammenligningsfunktion til sorteringsmetoden, sorteres den i henhold til UTF-16-kodenhedens ordrer. Hvis vi bruger CompareFunction, vil alle elementer blive sorteret i overensstemmelse med returværdien af CompareFunction. Så hvis vi vil skrive en sammenligningsfunktion for tallene. Det ville være sådan:
funktion (a, b) return a - bCompareFunction tager to værdier ad gangen og returnerer tre typer værdier.
Sandt eller "1", hvis den første værdi kommer før den anden værdi, eller den første værdi er større end den anden værdi:
Falsk eller "-1", hvis den første værdi kommer efter den anden værdi, eller den første værdi er større end den anden værdi.
Og "0", hvis to værdier er ens.
Nu, hvis vi prøver at anvende det til at sortere antallet af tal. Vi kan anvende det sådan:
arr.sorter (funktion (a, b) return a - b)Som du kan se i output, er array med numre blevet sorteret anstændigt.
Den kortere måde at udføre den samme opgave på vil være sådan:
arr.sorter ((a, b) => a - b)Men dette fungerer kun til sammenligning af tallene.
Vi kan også bruge sorteringsmetoden til at sortere arrayet af objekter afhængigt af objektets værdier, som vi vil sortere arrayet af objekter. Hvis vi antager, at vi på basis af antallet af brugere vil sortere en matrix af objekter, hvor hvert objekt inkluderer Linux-operativsystemerne og antallet af deres brugere, så bruger vi følgende:
arr = [navn: "Ubuntu", brugere: 3000
navn: "Fedora", brugere: 1500
navn: "CentOS", brugere: 2000
name: "Debian", brugere: 5000
navn: "Kali Linux", brugere: 4000
]
Så for at sortere på basis af brugerne. Sorteringsfunktionen ville være sådan:
arr.sort (() => returner a.brugere - b.brugere)Så dette er de forskellige måder at bruge sorteringsmetoden til at sortere arrays af enhver type.
Konklusion
I denne artikel har vi lært, hvordan vi kan sortere en række forskellige typer ved hjælp af Javascript's indbyggede sorteringsfunktion. Denne artikel forklarer begrebet sorteringsfunktion fra nybegynder til mellemniveau på en meget nem, dybdegående og effektiv måde. Så fortsæt med at lære, arbejde og få erfaring i Javascript med linuxhint.com at få en bedre forståelse af det. Mange tak.