レッスンに戻る

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つのステージでそれができます:

  1. max - min と 0…1 からのランダム値を掛けると、取りうる値の範囲は 0…1 から 0…max – min まで増加します。
  2. ここで、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) );