logo

Metoda sort() pole JavaScript

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 noha
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ý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í:

  • Thecompare>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 prosort()>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