بازگشت به درس

عددی تصادفی از بین مینیمم تا ماکسیمم

اهمیت: 2

تابع از پیش آماده شده‌ی Math.random()، یک مقدار تصادفی از 0 تا 1 میسازد (به جز خود یک).

تابع random(min, max) را بنویسید که یک عدد اعشاری از بین min تاmax را می‌سازد (به جز خود max).

مثال‌هایی ازینکه چگونه کار می‌کند:

alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525

نیاز داریم که تمام مقادیر را در بازه 0…1 به مقادیر از min تا max ارتباط دهیم.

این به دو روش قابل انجام است:

۱. اگر یک عدد تصادفی از 0…1 را در عددی max-min ضرب کنیم، بازه‌ی مقادیر ممکن از 0..1 به 0..max-min افزایش می‌یابد.

۲. حالا اگر min را اضافه کنیم، بازه‌ی ممکن از min تا max میشود.

تابع:

function random(min, max) {
  return min + Math.random() * (max - min);
}

alert( random(1, 5) );
alert( random(1, 5) );
alert( random(1, 5) );