The sort()> metóda v JavaScripte usporiada prvky poľa na miesto a vráti zoradené pole. V predvolenom nastavení triedi prvky podľa abecedy a považuje ich za reťazce.
Pre číselné triedenie však môžete poskytnúť vlastnú porovnávaciu funkciu. Táto funkcia určuje kritériá triedenia, čo umožňuje presnú kontrolu nad procesom triedenia. `sort()` zvyšuje efektivitu a funkčnosť aplikácií JavaScript tým, že vám umožňuje organizovať prvky poľa podľa špecifických požiadaviek profesionálnym a formálnym spôsobom.
Syntax
arr.sort(compareFunction);>
Parametre
array>: Pole, ktoré sa má zoradiť.compareFunction>(Voliteľné): Funkcia, ktorá definuje poradie zoradenia. Ak sa vynechá, prvky poľa sa zoradia podľa ich bodov v kóde Unicode reťazca.
Návratová hodnota
Táto metóda vráti referenciu zoradeného pôvodného poľa.
java získava aktuálny dátum
Príklady:
Príklad 1: Triedenie poľa reťazcov
Tento príklad ukazuje použitie funkcie sort().
objekt v programovaní JavaJavaScript
// 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ýkon
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Vysvetlenie:
Thesort()>metóda preusporiadava prvkyarr>pole v abecednom poradí, čím sa vytvorí výstup['Geeks', 'Geeks', 'for']>.
Príklad 2: Triedenie poľa čísel bez porovnávacej funkcie
Tu, zoradiť () metóda usporiada prvky poľa vo vzostupnom poradí.
JavaScript // 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ýkon
[ 1, 2, 4, 5, 8 ]>
Vysvetlenie:
Thesort()>metóda sa volá na poli čísel[2, 5, 8, 1, 4]>. Thesort()>metóda zoradí prvky abecedne, pretože nie je poskytnutá žiadna porovnávacia funkcia. Preto bude výstup[1, 2, 4, 5, 8]>, ktorý je zoradený abecedne na základe reťazcových reprezentácií čísel.
javascript pre slučku
Príklad 3: Triedenie číselnej hodnoty bez porovnávacej funkcie
Tu triedime číselnú hodnotu bez porovnávacej funkcie
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Výkon
[ -120, 0, 100, 20, 30, 5.2 ]>
Vysvetlenie:
Keď použijetesort()>metóda bez porovnávacej funkcie, JavaScript štandardne triedi prvky poľa ako reťazce, čo nemusí vždy priniesť očakávané výsledky pre číselné polia. Poďme si rozobrať proces triedenia:
- JavaScript konvertuje každý prvok poľa na reťazec.
- Potom porovná jednotky kódu UTF-16 každého znaku v reťazcoch a zoradí ich na základe bodovej hodnoty kódu Unicode.
S vaším poľom sa stane toto:
- Čísla sa prevedú na reťazce:
['20', '5.2', '-120', '100', '30', '0']>. - Pri zoradení podľa abecedy,
-120>je na prvom mieste, pretože->má nižšiu bodovú hodnotu Unicode ako číslice (0>do9>). Potom príde0>, nasledovaný100>,20>,30>, a5.2>.
Príklad 4: Triedenie číselnej hodnoty s funkciou porovnávania
skener.ďalej java
Neočakávanú chybu, ktorá sa vyskytla vo vyššie uvedenom príklade, môžeme vyriešiť použitím metódy sort() pre čísla pomocou nasledujúcej porovnávacej funkcie.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 by sa umiestnilo pred 20, 20 - (-120) = +ve => -120 by sa umiestnilo pred 20, 20 - (100) = -ve => 100 by sa umiestnilo za 20, 20 - (30) = - ve => 30 by sa umiestnilo za 20, 20 - (0) = +ve => 0 by sa umiestnilo pred 20, Podobne pre každý prvok ich kontrolujeme a umiestňujeme ich v iteráciách. */ funkcia porovnaj(a, b) { return a - b; } console.log(čísla.zoradiť(porovnať));> Výkon
[ -120, 0, 5.2, 20, 30, 100 ]>
Vysvetlenie:
- The
compare>funkcia odčítavab>oda>. Ak je výsledok negatívny,a>prichádza skôrb>v triedenom poli; ak je pozitívny,b>prichádza skôra>; ak je nula, ich relatívne poradie zostáva nezmenené. - Poskytnutím tejto funkcie vlastného porovnávania pre
sort()>JavaScript triedi polenumbers>na základe číselných hodnôt jeho prvkov.
Prejdite si to prosím Ako triediť číselné pole pomocou JavaScriptu? , aby ste vedeli, ako funguje funkcia triedenia poľa javascript
Máme kompletný zoznam metód Javascript Array, aby ste ich skontrolovali, prejdite si toto Javascript Array Kompletná referencia článok.
Podporované prehliadače:
- Google Chrome
- Hrana
- internet Explorer
- Firefox
- Opera
- Safari