105 of 264 menu

Metoda filter

Metoda filter umožňuje filtrovat prvky pole a ponechat pouze ty, které vyhovují určité podmínce. Metoda obdrží v parametru funkci, která se provede pro každý prvek pole. Výsledkem metody je nové pole, do kterého vstoupí pouze ty prvky, pro které předaná funkce vrátí true.

Do funkce lze předat tři parametry. Pokud tyto parametry existují (nejsou povinné), tak do prvního bude automaticky dosazen prvek pole, do druhého bude dosazeno jeho číslo v poli (index) a do třetího - samotné pole.

Syntaxe

let nové pole = pole.filter(function(prvek, index, pole) { kód return true nebo false });

Příklad

Pojďme filtrovat pole a ponechat v něm pouze kladná čísla:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(function(elem) { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

Výsledek provedení kódu:

[5, 1, 1, 3, 4]

Příklad

Zkrátíme kód pomocí šipkové funkce:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

Výsledek provedení kódu:

[5, 1, 1, 3, 4]

Příklad

Zkrátíme kód pomocí zkráceného vyhodnocování logických operací:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { return elem >= 0; }); console.log(res);

Výsledek provedení kódu:

[5, 1, 1, 3, 4]

Příklad

Zkrátíme kód využitím vlastností šipkových funkcí:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => elem > 0); console.log(res);

Výsledek provedení kódu:

[5, 1, 1, 3, 4]

Příklad

V případě potřeby lze do třetího parametru předat samotné pole:

let res = arr.filter(function(elem, index, arr) { zde bude dostupné pole arr });

Viz také

  • metody map a forEach,
    které umožňují aplikovat funkci na každý prvek pole
  • metody some a every,
    provádějící kontrolu pole
  • metody reduce a reduceRight,
    redukující pole na jednu hodnotu
Č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