JavaScriptで特定の範囲のランダムな整数を生成する方法を解説
JavaScriptでランダムな数値を生成するには、Math.random()メソッドを使用します。このメソッドは0以上1未満の浮動小数点数を返すため、そのままでは任意の範囲の整数を得ることができません。
そこで、最小値と最大値を指定して、その間のランダムな整数を生成するには、以下の公式を使います。
Math.floor(Math.random() * (max - min + 1)) + min
コードの解説
- Math.random():0以上1未満のランダムな小数を返します。
- (max - min + 1):生成したい整数の個数(範囲の幅)を計算します。「+1」を加えることで最大値も含めた範囲になります。
- Math.floor():小数点以下を切り捨てて整数に変換します。
- + min:最小値を加算することで、結果がmin〜maxの範囲に収まります。
サンプルコード
以下は、2から6までの範囲でランダムな整数を生成し、画面に表示する例です。
<!DOCTYPE html> <html> <body> <script> var max = 6; var min = 2; var random = Math.floor(Math.random() * (max - min + 1)) + min; document.write(random); </script> </body> </html>
実行結果
このコードを実行するたびに、2、3、4、5、6のいずれかの整数がランダムに表示されます。サイコロのような動作を簡単に実装できるので、ゲームや抽選機能などにも応用できます。
モダンな書き方(const / let の使用)
近年のJavaScriptでは、変数宣言にconstやletを使うのが一般的です。同じ処理を以下のように書き直すこともできます。
const max = 6; const min = 2; const random = Math.floor(Math.random() * (max - min + 1)) + min; console.log(random);
この方法を覚えておけば、任意の範囲のランダムな整数が必要になった場面ですぐに活用できます。
-
MySQLのストアドプロシージャで5つの乱数を生成する方法
MySQLでランダムな数値を抽出するには、ORDER BY RAND() を活用するのが便利です。本記事では、テーブルに登録されたデータの中からランダムに5つの値を選び出し、それをストアドプロシージャとして作成・呼び出すまでの手順を、実際のコード例とともにわかりやすく解説します。 1. サンプルテーブルを作成する まず、乱数の候補となる値を格納するためのテーブルを作成します。 mysql> create table DemoTable (Value int); Query OK, 0 rows affected (0.76 sec) 2. テーブルにデータを挿入する 続いて、INSERT
-
加重乱数(重み付き乱数)を生成する方法【Ruby実装例つき】
通常、乱数は「一様分布(uniform distribution)」に従います。これは、どの数値が選ばれる確率もすべて等しいという意味です。 しかし、特定の数値が他の数値よりも高い確率で選ばれるようにしたい場合は、別の戦略が必要になります。それが加重乱数ジェネレーター(重み付き乱数生成器)です。 実際の応用例としては、次のようなものが挙げられます。 ゲーム内のルートテーブル:敵が異なるアイテムを、それぞれ異なるドロップ率で落とす仕組み 抽選会:抽選券を多く持っている人ほど、当選する確率が高くなる仕組み シンプルな方法:配列を使う戦略 抽選会の例で考えてみると、すぐに思いつく解決策があります