The metoda řazení se používá k uspořádání různých prvků v poli v určitém pořadí.
Syntax
Obecná syntaxe metody řazení je:
pole.sort ();Tato metoda ve výchozím nastavení vrátí seřazené pole ve vzestupném pořadí.
Diskutovali bychom o několika příkladech, abychom porozuměli metodě třídění v JavaScriptu.
Příklady
Předpokládáme řadu řetězců, ve kterých máme různé názvy operačních systémů Linux.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Nyní, pokud použijeme metodu řazení na toto pole:
přílet.sort ();Určitě seřadí pole v abecedním pořadí. Vidíme výstup na snímku obrazovky níže.
Ale pokud chceme získat řetězec v obráceném / sestupném pořadí. Můžeme použít vestavěnou reverzní funkci Javascript přes tříděné pole takto:
var sortArray = arr.sort ();tříděné pole.zvrátit();
Kratší způsob reverzu je:
přílet.sort ().zvrátit();V pořádku! Pro řetězec to fungovalo dobře. Zkusme, jestli to funguje i pro čísla.
Nejprve tedy předpokládáme řadu čísel.
Poté použijte metodu třídění na pole čísel.
přílet.sort ();Vypadá to, že to nefungovalo dobře, stejně jako pro řetězec. Protože metoda řazení nejprve převede čísla na řetězce a poté seřadí na základě Unicode. „8“ však předchází „14“ v číselném pořadí. Ale v pořadí kódových jednotek UTF-16 je „14“ před „8“. Dobrá věc v Javascriptu, máme pro to řešení.
Funkce porovnání
Přichází koncept funkce porovnání, který se hodí při třídění čísel. Můžeme použít funkci porovnání s metodou řazení jako funkci zpětného volání, která trvá dva prvky. Potom je roztřídí podle našeho požadavku ve funkci porovnání a vrátí je k metodě třídění, přičemž to neustále dělá, dokud nedosáhne konce pole.
Syntaxe metody třídění s funkcí compareFunction bude vypadat takto:
pole.sort (compareFunction);Pokud se nyní podíváme na technické podrobnosti funkce compareFunction, tak to ve skutečnosti funguje. Pokud neposkytneme funkci porovnání funkce pro třídění, bude se třídění podle objednávek kódových jednotek UTF-16. Pokud použijeme funkci compareFunction, všechny prvky by byly seřazeny podle návratové hodnoty CompareFunction. Pokud tedy chceme pro čísla napsat funkci porovnání. Bylo by to asi takto:
funkce (a, b) návrat a - bCompareFunction bere dvě hodnoty najednou a vrací tři typy hodnot.
True nebo „1“, pokud první hodnota přichází před druhou hodnotou nebo je první hodnota větší než druhá hodnota:
False nebo „-1“, pokud první hodnota následuje po druhé hodnotě nebo je první hodnota větší než druhá hodnota.
A „0“, pokud jsou dvě hodnoty stejné.
Teď, když to zkusíme použít k seřazení řady čísel. Můžeme to použít takto:
přílet.sort (funkce (a, b) návrat a - b)Jak vidíte na výstupu, pole s čísly bylo slušně tříděno.
Kratší způsob provedení stejného úkolu bude takový:
přílet.sort ((a, b) => a - b)Toto však funguje pouze pro srovnání čísel.
Můžeme také použít metodu třídění k třídění pole objektů v závislosti na hodnotách objektu, které chceme řadit pole objektů. Předpokládejme, že bychom chtěli třídit na základě počtu uživatelů řadu objektů, ve kterých každý objekt zahrnuje operační systémy Linux a počet jejich uživatelů, pak použijeme následující:
arr = [name: "Ubuntu", uživatelé: 3000
name: "Fedora", uživatelé: 1500
name: "CentOS", uživatelé: 2000
name: "Debian", uživatelé: 5000
name: "Kali Linux", uživatelé: 4000
]
Takže, aby bylo možné třídit na základě uživatelů. Funkce třídění by vypadala takto:
přílet.sort (() => vrátit a.uživatelé - b.uživatelé)Jedná se tedy o různé způsoby použití metody řazení k třídění polí libovolného typu.
Závěr
V tomto článku jsme se naučili, jak můžeme řadit řadu různých typů pomocí vestavěné funkce třídění Javascript. Tento článek velmi snadno, důkladně a efektivně vysvětluje koncept funkce řazení od nováčka po střední úroveň. Takže se dál učte, pracujte a získávejte zkušenosti s Javascriptem linuxhint.com lépe to pochopit. Děkuji mnohokrát.