レッスンに戻る

最小値から最大値の範囲内の乱数

importance: 2

組み込み関数Math.random()は、0から11は含まず)までの乱数を生成します。

minからmaxmaxは含まず)までの浮動小数点の乱数を生成する関数random(min, max)を作成してください。

動作例

alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525

すべての値を0…1の区間からminからmaxまでの値に「マッピング」する必要があります。

それは2段階で行うことができます。

  1. 0…1の乱数をmax-minで掛けると、可能な値の区間は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) );