本記事では、JavaScriptでランダムな値を取得する方法について解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座

メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
ランダムな値を取得するコード
ランダムな値を取得するコードは以下のとおりです。
Math.floor( Math.random() * (max + 1 - min) ) + min
コード解説
- Math.floor:小数点以下を切り捨てる
- Math.random:0~1の乱数を発生させる
- max:ランダムに発生させたい値の最大値
- min:ランダムに発生させたい値の最小値
上記のコードにランダムに発生させたい値の最大値・最小値を設定して、動作確認してみましょう。
let max = 30;
let min = 10;
for (let i = 0; i < 10; i++) {
console.log(Math.floor(Math.random() * (max + 1 - min)) + min);
}
/* コンソールログ *
* 15
* 22
* 17
* 22
* 16
* 26
* 22
* 17
* 19
* 20
*/
最大値に30を最小値に10を設定し、for文で10回ループさせランダムな値を取得しました。取得した値を確認すると10(最小値)~30(最大値)に収まっていることが確認できますね!