اعداد ورودی را جمع بزنید
اهمیت: 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() );