Min dan max gacha bo'lgan tasodifiy son
O’rnatilgan Math.random() funktsiyasi 0 dan 1 gacha (1 dan tashqari) tasodifiy qiymat hosil qiladi.
Tasodifiy suzuvchi-nuqta sonini min dan max gacha hosil qilish uchun random(min, max) funktsiyasini yozing (max ni hisobga olmaganda).
Uning ishining namunalari:
alert(random(1, 5)); // 1.2345623452
alert(random(1, 5)); // 3.7894332423
alert(random(1, 5)); // 4.3435234525
Biz 0…1 oralig’idan barcha qiymatlarni min dan max gacha bo’lgan qiymatlarga “map” qilishimiz kerak.
Buni ikki bosqichda amalga oshirish mumkin:
- Agar tasodifiy sonni 0…1 dan
max-minga ko’paytirsak, u holda mumkin bo’lgan qiymatlar oralig’i0..1dan0..max-mingacha ko’tariladi. - Endi
minni qo’shsak, mumkin bo’lgan intervalmindanmaxgacha bo’ladi.
Funktsiya:
function random(min, max) {
return min + Math.random() * (max - min);
}
alert(random(1, 5));
alert(random(1, 5));
alert(random(1, 5));