اعداد ورودی را جمع بزنید

ما قصد داریم این پروژهٔ متن‌باز را در دسترس همهٔ مردم در سرتاسر دنیا قرار دهیم.

به ترجمهٔ محتوای این آموزش به زبان خودتان کمک کنید/a>.

بازگشت به درس

اعداد ورودی را جمع بزنید

اهمیت: 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() );