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
)
)
;