The spôsob triedenia sa používa na usporiadanie rôznych prvkov v poli v konkrétnom poradí.
Syntax
Všeobecná syntax pre metódu triedenia je:
pole.sort ();Táto metóda predvolene vráti zoradené pole vo vzostupnom poradí.
Diskutovali by sme o niekoľkých príkladoch na pochopenie metódy triedenia v JavaScripte.
Príklady
Predpokladáme pole reťazcov, v ktorých máme rôzne názvy operačných systémov Linux.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Teraz, ak použijeme metódu triedenia na toto pole:
prírastok.sort ();Určite zoradí pole v abecednom poradí. Výstup môžeme vidieť na snímke obrazovky nižšie.
Ale ak chceme dostať reťazec v opačnom / zostupnom poradí. Môžeme použiť vstavanú reverznú funkciu Javascript na zoradené pole takto:
var triedenéArray = arr.sort ();triedené pole.reverz ();
Kratší spôsob obrátenia je:
prírastok.sort ().reverz ();Dobre! Na strunu to fungovalo dobre. Skúsme, či to funguje aj na čísla.
Najprv teda predpokladáme pole čísel.
Potom použite metódu triedenia na pole čísel.
prírastok.sort ();Zdá sa, že to nefungovalo dobre, ako to bolo pre strunu. Pretože metóda triedenia najskôr prevádza čísla na reťazce a potom ich triedi na základe Unicode. „8“ je však v číselnom poradí pred „14“. Ale v poradí kódových jednotiek UTF-16 je „14“ pred „8“. Dobrá vec v Javascripti, dostali sme pre to riešenie.
Funkcia porovnania
Prichádza koncept funkcie porovnania, ktorý sa hodí pri triedení čísel. Môžeme použiť funkciu porovnania s metódou triedenia ako funkciu spätného volania, ktorá trvá dva prvky. Potom ich zoradí podľa našich požiadaviek vo funkcii porovnania a vráti ich k metóde triedenia, pričom to robí neustále, až kým sa nedostane na koniec poľa.
Syntax pre metódu triedenia s funkciou compareFunction by bola nasledovná:
pole.sort (compareFunction);Teraz, keď sa pozrieme na technické podrobnosti komparačnej funkcie, tak to v skutočnosti funguje. Ak neposkytneme metódu porovnania s metódou zoradenia, bude sa triediť podľa objednávok jednotiek kódu UTF-16. Ak použijeme funkciu compareFunction, všetky prvky by boli zoradené podľa návratovej hodnoty CompareFunction. Ak teda chceme pre čísla napísať funkciu porovnania. Bolo by to asi takto:
function (a, b) return a - bCompareFunction vezme dve hodnoty naraz a vráti tri typy hodnôt.
True alebo „1“, ak je prvá hodnota pred druhou hodnotou alebo je prvá hodnota väčšia ako druhá hodnota:
False alebo „-1“, ak prvá hodnota nasleduje po druhej hodnote alebo je prvá hodnota väčšia ako druhá hodnota.
A „0“, ak sú dve hodnoty rovnaké.
Teraz, keď sa ho pokúsime použiť na zoradenie poľa čísel. Môžeme to použiť takto:
prírastok.sort (function (a, b) return a - b)Ako vidíte na výstupe, pole s číslami bolo triedené slušne.
Kratší spôsob vykonania rovnakej úlohy bude tento:
prírastok.sort ((a, b) => a - b)Toto však funguje iba na porovnanie čísel.
Môžeme tiež použiť metódu triedenia na zoradenie poľa objektov v závislosti od hodnôt objektu, podľa ktorého chceme zoradiť pole objektov. Ak by sme predpokladali, že by sme chceli triediť na základe počtu používateľov pole objektov, v ktorých každý objekt obsahuje operačné systémy Linux a počet ich používateľov, potom použijeme nasledujúce:
arr = [name: "Ubuntu", používatelia: 3000
name: "Fedora", používatelia: 1 500
name: "CentOS", používatelia: 2000
name: "Debian", používatelia: 5000
name: "Kali Linux", používatelia: 4000
]
Teda s cieľom zoradenia na základe používateľov. Funkcia triedenia by bola taká:
prírastok.sort (() => návrat a.používatelia - b.používatelia)Jedná sa teda o rôzne spôsoby použitia metódy zoradenia na zoradenie polí ľubovoľného typu.
Záver
V tomto článku sme sa naučili, ako môžeme triediť rad rôznych typov pomocou zabudovanej funkcie triedenia Javascript. Tento článok veľmi ľahko, hlboko a efektívne vysvetľuje koncept funkcie triedenia od začiatočníka po strednú úroveň. Takže pokračujte v učení, práci a získavaní skúseností s Javascriptom linuxhint.com aby sme to lepšie pochopili. Ďakujem ti veľmi pekne.