加總輸入數字
重要性:4
撰寫函式 sumInput()
,它會
- 使用
prompt
向使用者詢問值,並將這些值儲存在陣列中。 - 當使用者輸入非數字值、空字串或按下「取消」時,結束詢問。
- 計算並傳回陣列項目總和。
P.S. 零 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() );