min から max のランダムな数値
重要性: 2
組み込み関数 Math.random()
は 0
から 1
(1
は含まない)のランダムな値を作成します。
min
から max
(max
は含まない)のランダムな小数値を生成する関数 random(min, max)
を書いてください。
動作例:
alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525
ベースとして、previous task の解法が使えます。
区間 0…1 のすべての値を min
から max
までの値に “マッピング” する必要があります。
2つのステージでそれができます:
max - min
と 0…1 からのランダム値を掛けると、取りうる値の範囲は 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) );