求输入数字的总和
重要性: 4
编写函数 sumInput()
,该函数
- 使用
prompt
向用户询问值,并将值存储在数组中。 - 当用户输入非数字值、空字符串或按下“取消”时,停止询问。
- 计算并返回数组项的总和。
附注:零 0
是一个有效的数字,请不要在输入零时停止。
请注意解决方案中微妙但重要的细节。我们不会在 prompt
之后立即将 value
转换为数字,因为在 value = +value
之后,我们将无法区分空字符串(停止标志)和零(有效数字)。我们稍后会这样做。
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() );