JavaScript: ランダムな数(乱数)を取得する

JavaScriptで乱数を取得する場合はrandom()とfloor()を使用します。 どちらもMathオブジェクトのメソッドです。 Math.random()、Math.floor()と記述します。

random()メソッドは0から1未満(1は含まない)の乱数を発生させます。
floor()メソッドは小数点以下を切り捨てます。

次の式に最小値と最大値をあてはめると取得できます。


var num = Math.floor(Math.random() * A) + 最小値 ;

A = 最大値 + 1 - 最小値

最小値が0の場合は「+ 最小値」を省略

コード例

//  0 - 10
//var num = Math.floor(Math.random() * 11) ;

// 1 - 10
//var num = Math.floor(Math.random() * 10) + 1 ;

// 11 - 20
var num = Math.floor(Math.random() * 10) + 11 ;

重複しない乱数を取得したい場合

例えば、0から9までの乱数を重複せずに取得したい場合は、 最初に0から9までの配列を用意して、その配列をシャッフルすれば取得できます。

配列をシャッフルする方法はこちらを参考にしてください
参考記事:配列をシャッフルする

JavaScript入門