اعداد ورودی را جمع بزنید
اهمیت: 4
تابع sumInput()
را بنویسید که:
- از کاربر با استفاده از
prompt
درخواست مقدار میکند و مقدارها را در آرایه ذخیره میکند. - زمانی که کاربر یک مقدار غیر عددی یا رشته خالی وارد کند یا “Cancel” را فشار دهد، درخواست کردن را متوقف میکند.
- جمع المانهای آرایه یا محاسبه و آن را برگردانید.
پینوشت: صفر 0
یک مقدار معتبر است، لطفا درخواست ورودی را با صفر متوقف نکنید.
[دمو]
لطفا جزئیات کوچک اما مهم راه حل را در نظر داشته باشید. ما value
را درست بعد از prompt
به عدد تبدیل نمیکنیم، چون بعد از value = +value
ما نمیتوانیم بین یک رشته خالی (نشاندهنده توقف) و صفر (مقداری معتبر) فرقی قائل شویم. در عوض آن را بعدا انجام میدهیم.
function sumInput() {
let numbers = [];
while (true) {
let value = prompt("لطفا یک عدد وارد کنید.", 0);
// باید لغو کنیم؟
if (value === "" || value === null || !isFinite(value)) break;
numbers.push(+value);
}
let sum = 0;
for (let number of numbers) {
sum += number;
}
return sum;
}
alert( sumInput() );