【JavaScript】乱数(ランダム)を生成する方法(Math.random)
おはようございます。タカヒデです。
本日は、「JavaScriptにおける、『乱数(ランダム)の生成』について、『Math.randomメソッド』」を紹介します。
- JavaScriptにおける『乱数(ランダム)の生成』が理解できない
- 『Math.randomメソッド』の記載方法を知りたい
ぜひ本記事を参考にしてください。
乱数(ランダム)の生成(Math.randomメソッド)
- 1~10のランダムな数字を作りたいなー。
- おみくじの結果をランダムに生成したいなー。
こんな時に使うものが乱数です。
初学者が初めてサンプルアプリを作る場合、ほとんどの方が使ったことがあるのではないでしょうか?
このような乱数を生成する場合、『Math.randomメソッド』を使用します。
//記載方法
Math.random()以下が記載例です。
console.log(Math.random());
//実行結果:0.7712676515883793ただし、『Math.randomメソッド』で生成される乱数は「0以上1未満」です。
このような『小数』で生成されるため注意が必要です。
では、整数で使用するためにはどうすればよいのでしょうか?
その方法は次の項目で説明していきます。
Math.randomメソッドの使用例
小数の乱数を生成してもそのままでは使用しづらいですよね。
「0.24780163」みたいな数字が生成されても何に使えばいいんだ…
そんな気持ちになることでしょう。
そんなあなたのために、Math.randomメソッドを使用する例を紹介します。
ここでは、以下3つの例を紹介します。
- 0~5の整数で乱数を生成
- 10~20の間の整数で乱数を生成
- 配列の要素をランダムで取得
【使用例①】0~5の整数で乱数を生成
まずは、「0~5の整数で乱数を生成する方法」です。
以下が記載例です。
console.log(Math.floor(Math.random() * 6));
//実行結果:4『Math.random()』に『生成したい数+1』したものを掛けます。
今回なら5までにしたいので、「*6」をしています。
また、そのままでは小数点以下も表示されてしまうため、『Math.floorメソッド』で小数点以下を切り捨てします。
【使用例②】10~20の間の整数で乱数を生成
次に「10~20の間の整数で乱数を生成する方法」です。
以下が記載例です。
let min = 10;
let max = 20;
console.log(Math.floor(Math.random() * (max - min + 1)) + min);
//実行結果:17『Math.random()』に『(最大-最小+1)』を掛け、最期に「+ min」の部分で最小値を足すことで生成します。
こちらも、そのままでは小数点以下も表示されてしまうため、『Math.floorメソッド』で小数点以下を切り捨てします。
【使用例③】配列の要素をランダムで取得
最期に「配列の要素をランダムで取得する方法」です。
以下が記載例です。
let foods = ["焼肉", "そば", "餃子", "寿司"]
console.log(foods[Math.floor(Math.random() * foods.length)]);
//実行結果:寿司配列の要素をランダムに取得する方法です。ここでは『foods』という配列の要素をランダムで取得します。
配列の要素の数を『length』で取得していますが、『foods.length』は4のため、0~3の乱数が生成されます。
そのため、『foods』という配列の要素をランダムで取得できています。
まとめ
以上が「JavaScriptにおける『乱数(ランダム)の生成』について、『Math.randomメソッド』」でした。
- Math.randomメソッド:は0以上1未満の乱数のため、『小数』で生成
- ①0~●の乱数を生成:『Math.random()』×『生成したい数+1』
- ②『最小』~『最大』の乱数を生成:『Math.random()』×『(最大-最小+1)』+『最小』
- ③配列の要素をランダムで取得:『Math.random()』×『配列.length』
ぜひランダムな数値を生成して、面白いアプリを作ってみてください。
この記事が誰かの参考になれば幸いです。
お疲れさまでした。
