JavaScriptで乱数を取得する方法!(Math.random)

JavaScript

JavaScriptで乱数を取得する方法について書いています。
JavaScriptでランダムな数値を取得したいときには、Math.randomメソッドを使うと良いです。

乱数を取得する方法

乱数を取得したいときには、Math.randomメソッドを使います。

const randomNumber = Math.random()

console.log(randomNumber) // 0.597926415555333

最初にrandomNumber定数を作って、「Math.random()」を呼びだしてランダムな値を返しています。
Math.random()」で返されるのは、0以上で1未満の範囲の小数を返します。

上記を実行すると、実行するたびに変わりますが「0.597926415555333」が返ってきました。

0から10の乱数が欲しい

先ほどのように「Math.random()」では小数が返ってきますが、そのまま使うことはあまりないかと思います。

例えば、0から10のランダムな数が欲しい場合です。
0以上で1未満の範囲の数値が返ってくるので、10倍すると小数点がずれて、1桁のランダムな数値が取れます。

0.0123...」のような数も返ってくる可能性があるため、取得できるのは0から9のランダムな数です。
下記のようになります。

const randomNumber = Math.random() * 10

console.log(randomNumber) // 7.262173772143495

今回は、0から10のランダムな値が欲しいので、11を掛けます。
ランダムな値が「0.999...」などになったときに11を掛けることで、10を超えます。

後は、Math.floorメソッドを使って、小数を切り捨てればOKです。
下記ようにすると、0から10のランダム値が取得できます。

const randomNumber = Math.floor(Math.random() * 11)

console.log(randomNumber) // 6

指定した範囲の乱数が欲しい

最小値と最大値を指定して、その範囲の乱数が欲しいときです。
その場合は、下記のように求めます。

const max = 6
const min = 1
const randomNumber = Math.floor(Math.random() * (max - min) + min)

console.log(randomNumber) // 3

最初にmaxminの定数を作って、6と1を代入しました。
こうすると、最小値が1で最大値が5までのランダムな値を取ることになります。

次の行で、計算して取得した乱数をrandomNumber変数に格納して出力しました。
結果、1から5までの乱数が出力されます。
最大値(max)未満になるので、注意してください。

乱数でおみくじプログラムを作る

最後に乱数を使って、おみくじのプログラムを書いてみます。

const texts = ['大凶', '凶', '末吉', '小吉', '中吉', '吉', '大吉']

const randomNumber = Math.floor(Math.random() * 7)
const luckText = texts[randomNumber];

console.log(`あなたは「${luckText}」です。`); // あなたは「大吉」です。

最初に、おみくじで表示するテキストの配列を作っています。

次の処理で、Math.randomメソッドに7をかけています。
そして、Math.floorで小数点を切り捨てて、0から6の値を取得してきます。

取得したランダム値を使って、配列から値を取ることで、ランダムな配列の値が取得できます。
出力すると「あなたは「大吉」です。」となりました。(ランダムに表示されます)

終わりに

今回はJavaScriptで乱数を取得する方法について書きました。

記事の内容をまとめると、下記になります。

・乱数(ランダム値)を取得するにはMath.randomを使う。
・Math.randomでは0以上で1未満の値しか返ってこない。(`0 〜 0.999…`)
・取得したい値に11を掛けて、Math.floorで小数を切り捨てると0から10が取得できる。
・最小値と最大値の範囲で指定したいときには、「`Math.floor(Math.random() * (max – min) + min)`」を使う。

コメント

タイトルとURLをコピーしました