Souhrnná úloha – Seznam produktů jako pole objektů
| Site: | Moodle ZČU |
| Course: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Book: | Souhrnná úloha – Seznam produktů jako pole objektů |
| Printed by: | Nepřihlášený host |
| Date: | Sunday, 18 October 2026, 3:27 PM |
Úloha
Zadání (kontext úlohy):
Vytvoř program, který bude pracovat se seznamem produktů uložených v poli objektů. Program vypíše všechny produkty, následně vyfiltruje ty, které jsou skladem, a nakonec zobrazí průměrnou cenu všech dostupných produktů.
Cíl úlohy:
Procvičit práci s polem objektů, přístup k vlastnostem objektů, iteraci pomocí for...of a forEach, filtrování dat podle podmínky a základní výpočty z dat v poli.
Vstupní podmínky:
-
Student pracuje pouze se souborem
script.js. -
Výstup probíhá do konzole.
-
Nepoužívej metody vyššího řádu (
map,filter,reduce) – pouze cykly.
Požadovaný výstup:
-
Vytvoř pole
produkty, které bude obsahovat alespoň 4 objekty. Každý objekt musí mít vlastnosti:-
nazev(řetězec), -
cena(číslo), -
skladem(boolean).
-
-
Pomocí cyklu
for...ofvypiš všechny produkty ve formátu:
Název: Notebook | Cena: 18990 Kč | Skladem: true -
Pomocí dalšího cyklu vyfiltruj a vypiš pouze produkty, které mají
skladem == true. -
Spočítej průměrnou cenu všech produktů skladem a vypiš ji zaokrouhlenou na celé číslo.
Doplňující pokyny:
-
Používej pouze
letaconst. -
Nepoužívej šipkové funkce ani ternární operátor.
-
Vždy explicitně porovnávej hodnoty (
if (podminka == true)aif (podminka == false)). -
Přidej komentáře vysvětlující jednotlivé části.
Řešení úlohy
Co je zde splněno
-
Vytvořeno pole objektů
produktys vlastnostminazev,cena,skladem. -
Výpis všech produktů pomocí cyklu
for...of. -
Vypsány pouze produkty s
skladem == true. -
Spočítán průměr cen produktů skladem (zaokrouhlený pomocí
Math.round()). -
Použit cyklus
forEach()k výpočtu součtu a počtu produktů. -
Výstup probíhá pouze do konzole.
-
Každý krok obsahuje komentář.
Vylepšení oproti začátečnické verzi
-
Použití template literálů (
${}) pro přehlednější a elegantnější formátování výstupu. -
Sloučení výpisu a výpočtu průměru do jednoho průchodu cyklem.
-
Kód je kratší, ale zachovává všechny požadavky zadání.
-
Stále bez šipek, bez ternárních operátorů, s přehlednými podmínkami.
Procvičené dovednosti:
-
Práce s polem objektů.
-
Iterace pomocí
for...ofaforEach(). -
Přístup k vlastnostem objektu pomocí tečkové notace.
-
Filtrování dat podle podmínky (
if (skladem == true)). -
Výpočet průměru ze součtu hodnot a jejich počtu.