The metoda sortiranja koristi se za uređenje različitih elemenata u nizu određenim redoslijedom.
Sintaksa
Opća sintaksa metode sortiranja je:
niz.vrsta();Ova metoda prema zadanim postavkama vraća sortirani niz u rastućem redoslijedu.
Razgovarali bismo o nekoliko primjera za razumijevanje metode sortiranja u JavaScript-u.
Primjeri
Pretpostavljamo niz nizova u kojem imamo neka različita imena Linux operativnih sustava.
neka arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Sada, ako primijenimo metodu sortiranja na ovaj niz:
dolazak.vrsta();Definitivno će sortirati niz po abecednom redu. Rezultat možemo vidjeti na donjoj snimci zaslona.
Ali, ako želimo dobiti niz u obrnutom / silaznom redoslijedu. Na sortirani niz možemo primijeniti ugrađenu funkciju obrnutog u Javascript:
var sortedArray = arr.vrsta();sortedArray.obrnuto ();
Kraći način obrnutog je:
dolazak.vrsta().obrnuto ();U redu! Uspjelo je za žicu. Pokušajmo funkcionira li i za brojeve.
Dakle, prvo pretpostavimo niz brojeva.
Zatim primijenite metodu sortiranja na niz brojeva.
dolazak.vrsta();Čini se da to nije uspjelo kao kod žice. Budući da metoda sortiranja prvo pretvara brojeve u nizove, a zatim sortira na bazi Unicode-a. Iako, "8" dolazi ispred "14" numeričkim redoslijedom. Ali, u redoslijedu UTF-16 kodnih jedinica, "14" dolazi prije "8". Dobra stvar u Javascriptu, imamo rješenje za ovo.
CompareFunction
Ovdje dolazi koncept funkcije uspoređivanja koji dobro dođe u sortiranju brojeva. Funkciju uspoređivanja možemo koristiti s metodom sortiranja kao funkciju povratnog poziva koja uzima dva elementa. Zatim ih sortira prema našem zahtjevu u funkciji uspoređivanja i vraća ih na metodu sortiranja, kontinuirano to radeći dok ne stigne na kraj niza.
Sintaksa metode sortiranja s funkcijom compareFunction bila bi sljedeća:
niz.sortiranje (compareFunction);Sada, ako pogledamo tehničke detalje compareFunction-a, tako to zapravo i funkcionira. Ako ne pružimo funkciju uspoređivanja s metodom sortiranja, sortirat će se prema UTF-16 naredbama jedinice koda. Ako upotrijebimo compareFunction, svi bi se elementi razvrstali u skladu s povratnom vrijednošću compareFunction. Dakle, ako želimo napisati funkciju usporedbe za brojeve. To bi bilo ovako:
funkcija (a, b) povratak a - bCompareFunction uzima dvije vrijednosti istodobno i vraća tri vrste vrijednosti.
Tačno ili "1", ako prva vrijednost dolazi prije druge vrijednosti ili je prva vrijednost veća od druge vrijednosti:
Lažno ili "-1", ako prva vrijednost dolazi nakon druge vrijednosti ili je prva vrijednost veća od druge vrijednosti.
I "0", ako su dvije vrijednosti jednake.
Ako ga pokušamo primijeniti za sortiranje niza brojeva. Možemo ga primijeniti ovako:
dolazak.sortiranje (funkcija (a, b) povratak a - b)Kao što možete vidjeti u izlazu, niz s brojevima sortiran je pristojno.
Kraći način obavljanja istog zadatka bit će sljedeći:
dolazak.razvrstaj ((a, b) => a - b)Ali, ovo djeluje samo za usporedbu brojeva.
Također možemo koristiti metodu sortiranja za sortiranje niza objekata, ovisno o vrijednostima objekta, koji želimo sortirati niz objekata. Ako pretpostavimo da bismo željeli sortirati na temelju broja korisnika niz objekata u kojima svaki objekt uključuje Linux operativne sustave i broj njihovih korisnika, tada ćemo koristiti sljedeće:
arr = [ime: "Ubuntu", korisnici: 3000
ime: "Fedora", korisnici: 1500
ime: "CentOS", korisnici: 2000
ime: "Debian", korisnici: 5000
ime: "Kali Linux", korisnici: 4000
]
Dakle, kako bi se sortiralo na osnovu korisnika. Funkcija sortiranja bila bi sljedeća:
dolazak.sort (() => return a.korisnici - b.korisnici)Dakle, to su različiti načini korištenja metode sortiranja za sortiranje nizova bilo kojeg tipa.
Zaključak
U ovom smo članku naučili kako možemo sortirati niz različitih vrsta pomoću Javascriptove ugrađene funkcije sortiranja. Ovaj članak na vrlo jednostavan, dubok i učinkovit način objašnjava koncept funkcije sortiranja od početnika do srednje razine. Dakle, nastavite učiti, raditi i stjecati iskustvo u Javascriptu s linuxhint.com kako bi ga bolje shvatili. Puno ti hvala.