zpět k lekci

Sečtěte čísla na vstupu

důležitost: 4

Napište funkci sečtiVstup(), která:

  • Bude se uživatele ptát na hodnoty pomocí prompt a ukládat tyto hodnoty do pole.
  • Přestane se ptát, když uživatel zadá nečíselnou hodnotu, prázdný řetězec nebo stiskne „Storno“.
  • Vypočítá a vrátí součet prvků pole.

P.S. Nula 0 je platné číslo, proto prosíme neukončujte vstup při nule.

Spustit demo

Prosíme všimněte si drobného, ale důležitého detailu řešení. Nepřevádíme hodnota na číslo okamžitě po prompt, jelikož po hodnota = +hodnota bychom neměli jak poznat prázdný řetězec (znamení konce) od nuly (platné číslo). Děláme to až později.

function sečtiVstup() {

  let čísla = [];

  while (true) {

    let hodnota = prompt("Číslo, prosím?", 0);

    // měli bychom skončit?
    if (hodnota === "" || hodnota === null || !isFinite(hodnota)) break;

    čísla.push(+hodnota);
  }

  let součet = 0;
  for (let číslo of čísla) {
    součet += číslo;
  }
  return součet;
}

alert( sečtiVstup() );