تصادفی (Math Random)
می خواهی تاس دیجیتال بسازی؟ تابع «تصادفی (Random)» کمک می کند. «Math.random()» عددی بین صفر و یک می دهد. «بازه (Range)» یعنی از کجا تا کجا عدد می خواهیم.
Math.random() چیست؟
تابع Math.random() همیشه عددی بزرگ تر یا مساوی 0 و کوچکتر از 1 می دهد.
// یک عدد تصادفی بین 0 و 1
Math.random();
عدد صحیح تصادفی (Integer)
با ضرب و سپس Math.floor() می توانیم عدد صحیح بسازیم. «صحیح» یعنی بدون اعشار.
// از 0 تا 9 (هر دو شامل)
Math.floor(Math.random() * 10);
// از 0 تا 10 (هر دو شامل)
Math.floor(Math.random() * 11);
// از 0 تا 99 (هر دو شامل)
Math.floor(Math.random() * 100);
// از 0 تا 100 (هر دو شامل)
Math.floor(Math.random() * 101);
// از 1 تا 10 (هر دو شامل)
Math.floor(Math.random() * 10) + 1;
// از 1 تا 100 (هر دو شامل)
Math.floor(Math.random() * 100) + 1;
نکته: جاوااسکریپت نوع «عدد صحیح» جدا ندارد؛ منظور ما عدد بدون اعشار است.
تابع استاندارد بازه تصادفی
این یکی «چپ-بسته راست-باز» است؛ یعنی min شامل و max غیرشامل.
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
اگر می خواهی هر دو سرِ بازه شامل باشند، از نسخه زیر استفاده کن.
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
تمرین سه مرحله ای
- یک عدد از 1 تا 6 بساز؛ مثل تاس.
- یک شماره دانش آموز بین 1 و 30 انتخاب کن.
- ده عدد تصادفی بساز و میانگین بگیر.
جمع بندی سریع
Math.random()بین 0 و 1 برمی گرداند.- برای «صحیح» از
Math.floor()استفاده کن. - برای بازه دلخواه، ضرب و جمع کن.
- نسخه +1 هر دو سر را شامل می کند.
نکته: برای مرور کامل، صفحه مرجع ریاضی (Math Reference) را ببین؛ همچنین بخش ریاضی (Math) نکات پایه را دارد.