110 of 264 menu

Metoda sort

Metoda sort provádí řazení pole v lexikografickém pořadí a vrací již změněné pole. Jako volitelný parametr lze zadat vlastní funkci pro řazení.

Syntaxe

pole.sort([funkce]);

Příklad

Seřaďme pole:

let arr = ['d', 'b', 'a', 'c']; console.log(arr.sort());

Výsledek provedení kódu:

['a', 'b', 'c', 'd']

Příklad

Seřaďme pole s čísly:

let arr = [4, 1, 7, 2]; console.log(arr.sort());

Výsledek provedení kódu:

[1, 2, 4, 7]

Příklad

Přidejme do pole čísla a seřaďme jej:

let arr = [1, 123, 2, 4, 111, 7]; console.log(arr.sort());

Výsledkem provedení kódu uvidíme, že čísla nejsou uspořádána vzestupně, ale v lexikografickém pořadí, tj. čísla jsou mezi sebou porovnávána jako řetězce. Při tom se porovnává každý znak, zda je kód prvního znaku větší než kód sousedního atd. Výsledek:

[1, 111, 123, 2, 4, 7]

Příklad

Nyní seřaďme pole pomocí funkce, ve které nastavíme podmínku - pokud je první parametr větší než druhý, pak jej prohodíme (k tomu v return libovolné kladné číslo). V opačném případě prohození není nutné a uvedeme 0 nebo libovolné záporné číslo:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { if (a > b) { return 1; } else { return -1; } }); console.log(arr);

Výsledek provedení kódu:

[1, 2, 4, 7, 111, 123]

Příklad

Pro usnadnění zkraťme kód v naší funkci z předchozího příkladu:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return a - b; }); console.log(arr);

Výsledek provedení kódu:

[1, 2, 4, 7, 111, 123]

Příklad

A nyní pomocí funkce seřaďme pole v sestupném pořadí:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return b - a; }); console.log(arr);

Výsledek provedení kódu:

[123, 111, 7, 4, 2, 1]

Příklad

Seřaďme pole objektů podle klíče 'one' ve vzestupném pořadí:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.one - b.one; }); console.log(arr);

Výsledek provedení kódu:

[ {one: 1, two: 2}, {one: 3, two: 3}, {one: 7, two: 1} ]

Příklad

A nyní seřaďme pole objektů podle klíče 'two':

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.two - b.two; }); console.log(arr);

Výsledek provedení kódu:

[ {one: 7, two: 1}, {one: 1, two: 2}, {one: 3, two: 3} ]

Příklad

Zkontrolujme, zda se pole změnilo po použití metody sort:

let arr = ['b', 'a', 'd', 'c']; let res = arr.sort(); console.log(arr);

Výsledek provedení kódu:

['a', 'b', 'c', 'd']

Viz také

  • metoda filter,
    která umožňuje filtrovat prvky pole
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout