Sum input numbers
importance: 4
Write the function sumInput() that:
- Asks the user for values using
promptand stores the values in the array. - Finishes asking when the user enters a non-numeric value, an empty string, or presses âCancelâ.
- Calculates and returns the sum of array items.
P.S. A zero 0 is a valid number, please donât stop the input on zero.
Please note the subtle, but important detail of the solution. We donât convert value to number instantly after prompt, because after value = +value we would not be able to tell an empty string (stop sign) from the zero (valid number). We do it later instead.
function sumInput() {
let numbers = [];
while (true) {
let value = prompt("A number please?", 0);
// should we cancel?
if (value === "" || value === null || !isFinite(value)) break;
numbers.push(+value);
}
let sum = 0;
for (let number of numbers) {
sum += number;
}
return sum;
}
alert( sumInput() );