Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире. Пожалуйста, помогите нам перевести это руководство на другие языки.
КупитьEPUB/PDF
Поделиться
вернуться к уроку

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

важность: 4

Напишите функцию sumInput(), которая:

  • Просит пользователя ввести значения, используя prompt и сохраняет их в массив.
  • Заканчивает запрашивать значения, когда пользователь введёт не числовое значение, пустую строку или нажмёт «Отмена».
  • Подсчитывает и возвращает сумму элементов массива.

P.S. Ноль 0 – считается числом, не останавливайте ввод значений при вводе «0».

Запустить демо

Обратите внимание на малозаметную, но важную деталь решения. Мы не преобразуем value в число сразу после prompt, потому что после value = +value мы не сможем отличить пустую строку (конец записи) от «0» (разрешённое число). Мы сделаем это позже.

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() );

AltStyle によって変換されたページ (->オリジナル) /