назад до уроку

Сума введених чисел

важливість: 4

Напишіть функцію sumInput() яка:

  • Просить користувача ввести дані за допомогою prompt та зберігає їх в масив.
  • Закінчує робити запити в користувача після того, як введено не числове значення, порожня строка або натиснуто “відмінити”.
  • Підраховує та повертає суму елементів масиву.

P.S. Нуль 0 це – валідне число, будь ласка, не зупиняйте функцію при введені 0.

Запустити демонстрацію

Зверніть увагу на одну важливу річ у вирішенні цієї задачі. Ми не конвертуємо value в число одразу після prompt, тому що одразу після операції value = +value ми не зможемо відрізнити порожній рядок (зупинення роботи функції) від нуля (дійсне число). Тому ми робимо це пізніше.

function sumInput() {

  let numbers = [];

  while (true) {

    let value = prompt("Введіть, будь ласка, номер", 0);

    // Обриваємо введення даних?
    if (value === "" || value === null || !isFinite(value)) break;

    numbers.push(+value);
  }

  let sum = 0;
  for (let number of numbers) {
    sum += number;
  }
  return sum;
}

alert( sumInput() );