¶Funkcionální zpracování dat
Když při programování aplikací používáme cykly, brzy narazíme na často se opakující situace a konstrukce. Pro tyto situace máme na polích pomocné metody z funkcionálního světa.
Array.forEach
Array.map
Array.filter
Array.every
Array.some
¶Cvičení: Funkcionální zpracování dat
1
¶Funkcionální jednohubky
to dáš
Vytvořte si obyčejnou stránku s JavaScriptem a zkopírujte si do ní následující pole dat. Budeme s nimi pracovat v následujících cvičeních.
const numbers = [15, 6, 70, 41, 33, 27, 8, 16, 98, 60, 56];
const names = ['Petr', 'Jana', 'Pavel', 'Zuzana', 'Eva', 'Adam', 'Onyx'];
const osoby = [
{ name: 'Petr', age: 16, gender: 'male' },
{ name: 'Jana', age: 8, gender: 'female' },
{ name: 'Pavel', age: 34, gender: 'male' },
{ name: 'Zuzana', age: 41, gender: 'female' },
{ name: 'Eva', age: 13, gender: 'female' },
{ name: 'Adam', age: 22, gender: 'male' },
{ name: 'Adam', age: 22, gender: 'male' },
{ name: 'Onyx', age: 37, gender: 'intersex' },
];
- Napište cyklus, který spočítá průměr čísel v poli
numbers
. Napište tento cyklus ve staré forměfor
a v nové forměforEach
. - Pomocí funkce
forEach
napište cyklus, který vypíše do konzole poslední písmeno z každného jména v polinames
. - Pomocí metody
map
vydělte všecha čísla v polinumbers
třemi. - Pomocí metody
map
převeďte všechna čísla v polinumbers
na řetězce. - Pomocí metody
map
vytvořte pole, ve kterém budou všechna jména z polenames
zabalená doli
tagu. JménoPetr
tak dopadne jako<li>Petr</li>
. - Použijte pole
osoby
a pomocí metodymap
vytvořte pro každou osobu email ve formátupetr@gmail.com
. - Pomocí metody
filter
získejte z polenumbers
pouze ta čísla, která jsou sudá. - Pomocí metody
filter
získejte z polenames
pouze ta jména, která jsou delší než 4 znaky. - Pomocí metody
filter
získejte z poleosoby
pouze dospělé lidi. - Pomocí metody
filter
získejte z poleosoby
pouze dospělé muže. - Pomocí metody
some
zjistěte, jestli jsou v polinumbers
nějaká čísla dělitelná 11. - Pomocí metody
every
zjistěje, jestli v poliosoby
platí, že každá osoba je vždy buď muž nebo žena.
2
¶Úkolníček
to dáš
Založte si JavaScriptový program a vložte do něj následujicí datovou strukturu představující seznam úkolů. Každý objekt obsahuje tyto položky
name
- název úkolu,due
- za jak dlouho má být úkol splněn,notify
- jako dlouho předem se má úkol připomenout,done
- jestli už byl úkol splněn.
Nad datovou strukturou uvedenou výše proveďte následující úkony.
- Vytvořte pole, které obsahuje pouze názvy všech úkolů.
- Vytvořte pole, které obsahuje objekty pouze těch úkolů, které již byly splněny.
- Vytvořte pole, které obsahuje objekty pouze těch úkolů, které mají být splněný během následujících tří dnů.
- Máme-li pole úkolů, které mají být splněny do tří dnů, zjistěte, zda jsou všechny úkoly z tohoto seznamu již splněny.