Suma de números ingresados
importancia: 4
Escribe una función sumInput()
que:
- Pida al usuario valores usando
prompt
y los almacene en el array. - Termine de pedirlos cuando el usuario ingrese un valor no numérico, una cadena vacía, o presione “Escape”.
- Calcule y devuelva la suma de los items del array.
P.D. Un cero 0
es un número válido, por favor no detengas los ingresos con el cero.
Toma nota del sutil pero importante detalle de la solución. No convertimos value
a número instantáneamente después de prompt
, porque después de value = +value
no seríamos capaces de diferenciar una cadena vacía (señal de detención) de un cero (un número válido). Lo hacemos más adelante.
function sumInput() {
let numbers = [];
while (true) {
let value = prompt("Un número, por favor...", 0);
// ¿Debemos cancelar?
if (value === "" || value === null || !isFinite(value)) break;
numbers.push(+value);
}
let sum = 0;
for (let number of numbers) {
sum += number;
}
return sum;
}
alert( sumInput() );