The kārtot metodi tiek izmantots dažādu elementu sakārtošanai masīvā noteiktā secībā.
Sintakse
Kārtošanas metodes vispārējā sintakse ir šāda:
masīvs.kārtot ();Šī metode pēc noklusējuma atgriež sakārtoto masīvu augošā secībā.
Mēs varētu apspriest pāris piemērus, lai izprastu šķirošanas metodi JavaScript.
Piemēri
Mēs pieņemam virknes masīvu, kurā mums ir daži atšķirīgi Linux operētājsistēmu nosaukumi.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Ja šim masīvam izmantosim kārtošanas metodi:
arr.kārtot ();Tas noteikti sakārtos masīvu alfabētiskā secībā. Rezultātu mēs varam redzēt zemāk redzamajā ekrānuzņēmumā.
Bet, ja mēs vēlamies iegūt virkni apgrieztā / dilstošā secībā. Šķirotajam masīvam mēs varam piemērot Javascript iebūvēto reverso funkciju šādi:
var sortedArray = arr.kārtot ();sortedArray.reverss ();
Īsāks veids, kā rīkoties otrādi, ir:
arr.kārtot ().reverss ();Labi! Tas labi darbojās virknei. Mēģināsim, vai tas darbojas arī skaitļiem.
Tātad, vispirms pieņemam skaitļu masīvu.
Pēc tam skaitļu masīvā lietojiet kārtošanas metodi.
arr.kārtot ();Šķiet, ka tas nedarbojās labi, tāpat kā virknei. Tā kā kārtošanas metode vispirms pārvērš skaitļus virknēs un pēc tam kārto uz Unicode bāzes. Lai gan skaitlis "8" atrodas skaitļa secībā pirms "14". Bet UTF-16 kodu vienību secībā “14” ir pirms “8”. Laba lieta Javascript, mēs saņēmām tam risinājumu.
Salīdzināt funkciju
Šeit nāk jēdziens salīdzināt funkciju, kas noderēs šķirojot skaitļus. Mēs varam izmantot salīdzināšanas funkciju ar šķirošanas metodi kā atzvanīšanas funkciju, kurai nepieciešami divi elementi. Pēc tam tas tos sakārto atbilstoši mūsu prasībai salīdzināšanas funkcijā un atgriež tos kārtošanas metodē, nepārtraukti to darot, līdz tas sasniedz masīva beigas.
Kārtošanas metodes sintakse ar salīdzināšanas funkciju būtu šāda:
masīvs.kārtot (salīdzinātFunction);Tagad, ja mēs aplūkosim salīdzināšanas funkcijas tehnisko informāciju, tas faktiski darbojas. Ja mēs nenorādīsim salīdzināšanas funkciju ar kārtošanas metodi, tā tiks kārtota atbilstoši UTF-16 kodu vienību pasūtījumiem. Ja mēs izmantojam salīdzināšanas funkciju, visi elementi tiktu sakārtoti saskaņā ar salīdzināmās funkcijas atgriešanās vērtību. Tātad, ja mēs vēlamies uzrakstīt skaitļu salīdzināšanas funkciju. Tas būtu tieši šādi:
funkcija (a, b) atgriež a - bFunkcija CompareFunction vienlaikus ņem divas vērtības un atgriež trīs veidu vērtības.
True vai “1”, ja pirmā vērtība ir pirms otrās vērtības vai pirmā vērtība ir lielāka par otro:
Nepatiesa vai “-1”, ja pirmā vērtība nāk pēc otrās vērtības vai pirmā vērtība ir lielāka par otro vērtību.
Un “0”, ja divas vērtības ir vienādas.
Tagad, ja mēs mēģinām to pielietot, lai kārtotu skaitļu masīvu. Mēs to varam piemērot šādi:
arr.kārtot (funkcija (a, b) atgriež a - b)Kā redzat izvadē, masīvs ar numuriem ir kārtots pareizi.
Īsāks tā paša uzdevuma veikšanas veids būs šāds:
arr.kārtot ((a, b) => a - b)Bet tas darbojas tikai skaitļu salīdzināšanai.
Mēs varam arī izmantot kārtošanas metodi, lai kārtotu objektu masīvu atkarībā no objekta vērtībām, kuru mēs vēlamies kārtot objektu masīvu. Ja pieņemsim, ka mēs pēc lietotāju skaita vēlamies kārtot objektu masīvu, kurā katrs objekts ietver Linux operētājsistēmas un to lietotāju skaitu, tad mēs izmantosim:
arr = [name: "Ubuntu", lietotāji: 3000
name: "Fedora", lietotāji: 1500
name: "CentOS", lietotāji: 2000
name: "Debian", lietotāji: 5000
name: "Kali Linux", lietotāji: 4000
]
Tātad, lai kārtotu pēc lietotāju bāzes. Kārtošanas funkcija būtu šāda:
arr.kārtot (() => atgriež a.lietotāji - b.lietotāji)Tātad, šie ir dažādi veidi, kā izmantot kārtošanas metodi, lai kārtotu jebkura veida masīvus.
Secinājums
Šajā rakstā mēs esam iemācījušies, kā mēs varam kārtot dažādu veidu masīvu, izmantojot Javascript iebūvēto kārtošanas funkciju. Šis raksts ļoti viegli, dziļi un efektīvi izskaidro šķirošanas funkcijas jēdzienu no iesācēja līdz vidējam līmenim. Tāpēc turpiniet mācīties, strādāt un iegūt pieredzi Javascript ar linuxhint.com lai labāk to saprastu. Liels tev paldies.