Sum input numbers
importance: 4
Write the function sumInput()
that:
- Asks the user for values using
prompt
and 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
(
)
)
;