The sort()> metoda v JavaScriptu uspořádá prvky pole na místě a vrátí seřazené pole. Ve výchozím nastavení seřadí prvky podle abecedy a považuje je za řetězce.
Pro numerické třídění však můžete poskytnout vlastní porovnávací funkci. Tato funkce určuje kritéria třídění, což umožňuje přesnou kontrolu nad procesem třídění. `sort()` zvyšuje efektivitu a funkčnost aplikací JavaScript tím, že umožňuje organizovat prvky pole podle konkrétních požadavků profesionálním a formálním způsobem.
Syntax
arr.sort(compareFunction);>
Parametry
array>: Pole, které se má seřadit.compareFunction>(Volitelné): Funkce, která definuje pořadí řazení. Pokud je vynechán, prvky pole jsou seřazeny podle jejich řetězcových bodů kódu Unicode.
Návratová hodnota
Tato metoda vrací odkaz na seřazené původní pole.
java získává aktuální datum
Příklady:
Příklad 1: Třídění pole řetězců
Tento příklad ukazuje použití funkce sort().
JavaScript // JavaScript to illustrate sort() function function func() { // Original string let arr = ['Geeks', 'for', 'Geeks'] console.log(arr); // Sorting the array console.log(arr.sort()); } func();> Výstup
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Vysvětlení:
Thesort()>metoda přeskupuje prvkyarr>pole abecedně, produkující výstup['Geeks', 'Geeks', 'for']>.
Příklad 2: Řazení pole čísel bez funkce porovnání
Tady, seřadit () metoda uspořádá prvky pole ve vzestupném pořadí.
nohy vs nohaJavaScript
// JavaScript to illustrate sort() function function func() { //Original string let arr = [2, 5, 8, 1, 4] //Sorting the array console.log(arr.sort()); } func();> Výstup
[ 1, 2, 4, 5, 8 ]>
Vysvětlení:
Thesort()>metoda je volána na poli čísel[2, 5, 8, 1, 4]>. Thesort()>metoda seřadí prvky abecedně, protože není k dispozici žádná porovnávací funkce. Výstup tedy bude[1, 2, 4, 5, 8]>, který je řazen abecedně na základě řetězcových reprezentací čísel.
Příklad 3: Řazení číselné hodnoty bez funkce porovnání
Zde třídíme číselnou hodnotu bez porovnávací funkce
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Výstup
[ -120, 0, 100, 20, 30, 5.2 ]>
Vysvětlení:
binární strom mail order traversal
Když použijetesort()>metoda bez funkce porovnání, JavaScript ve výchozím nastavení třídí prvky pole jako řetězce, což nemusí vždy přinést očekávané výsledky pro číselná pole. Pojďme si rozebrat proces řazení:
- JavaScript převede každý prvek pole na řetězec.
- Poté porovná jednotky kódu UTF-16 každého znaku v řetězcích a seřadí je na základě bodové hodnoty kódu Unicode.
Co se stane s vaším polem:
- Čísla se převedou na řetězce:
['20', '5.2', '-120', '100', '30', '0']>. - Při abecedním řazení
-120>je na prvním místě, protože->má nižší bodovou hodnotu kódu Unicode než číslice (0>na9>). Pak přijde0>, následován100>,20>,30>, a5.2>.
Příklad 4: Řazení číselné hodnoty pomocí funkce porovnání
Neočekávanou chybu, která se vyskytla ve výše uvedeném příkladu, můžeme vyřešit pomocí metody sort() pro numerické hodnoty pomocí následující funkce porovnání.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 by bylo umístěno před 20, 20 - (-120) = +ve => -120 by bylo umístěno před 20, 20 - (100) = -ve => 100 by bylo umístěno po 20, 20 - (30) = - ve => 30 by bylo umístěno za 20, 20 - (0) = +ve => 0 by bylo umístěno před 20, Podobně pro každý prvek zkontrolujeme a umístíme je podle toho v iteracích. */ funkce porovnej(a, b) { return a - b; } console.log(čísla.sort(porovnat));> Výstup
[ -120, 0, 5.2, 20, 30, 100 ]>
Vysvětlení:
- The
compare>funkce odečítáb>za>. Pokud je výsledek negativní,a>přichází dříveb>v seřazeném poli; pokud pozitivní,b>přichází dřívea>; pokud je nula, jejich relativní pořadí zůstane nezměněno. - Poskytnutím této vlastní porovnávací funkce pro
sort()>JavaScript třídí polenumbers>na základě číselných hodnot jeho prvků.
Projděte si to prosím Jak seřadit číselné pole pomocí JavaScriptu? , abyste věděli, jak funguje funkce řazení pole javascript
c++ převést int na řetězec
Máme kompletní seznam metod Javascript Array, pro kontrolu si je prosím projděte toto Javascript Array Kompletní reference článek.
Podporované prohlížeče:
- Google Chrome
- Okraj
- internet Explorer
- Firefox
- Opera
- Safari