Zobrazení pole

Skutečné aplikace mají data obvykle v poli a stránka ukazuje, co v poli je. Funguje to stejně jako u počítadla: číslo bylo v proměnné a stránka ho jen ukazovala. Tady jsou položky v poli a funkce je vykreslí na stránku:

const ovoce = ["Jablko", "Hruška"];
const seznamOvoce = document.querySelector("#ovoce");

function zobrazOvoce() {
    seznamOvoce.textContent = "";
    for (const nazev of ovoce) {
        const polozka = document.createElement("li");
        polozka.textContent = nazev;
        seznamOvoce.append(polozka);
    }
}

zobrazOvoce();

Funkce nejdřív seznam vyprázdní: nastavení textContent na prázdný text odstraní všechno, co v prvku je. Pak cyklus vytvoří jedno li pro každý prvek pole. Kdykoli se pole změní, zavolejte funkci znovu a ta seznam vykreslí nanovo:

ovoce.push("Banán");
zobrazOvoce();

Proč seznam nejdřív vyprázdnit? Bez toho by každé zavolání přidalo všechny položky znovu pod ty, které už tam jsou, a stránka by ukazovala Jablko, Hruška, Jablko, Hruška, Banán.

A proč vůbec pole, když se dají položky přidávat rovnou do stránky? Protože data pak zůstanou ve vašem programu a můžete s nimi pracovat: spočítat je pomocí .length, zjistit pomocí .includes(), jestli tam nějaká položka je, nebo v cyklu sečíst ceny. Pole může obsahovat i objekty; text každé položky pak složíte z jejich vlastností, třeba `${produkt.nazev}: ${produkt.cena}`.

Pokyny

Napište funkci zobrazUkoly(), která vyprázdní seznamUkolu a pak pro každý úkol v poli ukoly vytvoří li s textem úkolu a vloží ho do seznamUkolu. Funkci zavolejte na konci skriptu, aby se úkoly ukázaly hned po načtení stránky.

Když se klikne na tlacitkoPridat, přidejte text z textového pole vstupUkol do pole ukoly pomocí push() a zavolejte zobrazUkoly(), aby se seznam vykreslil znovu.

Dvě vylepšení obsluhy: když je textové pole vstupUkol prázdné (jeho value je ""), nic nepřidávejte. A po přidání úkolu textové pole vyprázdněte pomocí vstupUkol.value = "";, aby uživatel mohl hned psát další úkol.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

9/10