JavaScriptを始めると「ランダムな数字を作りたい」と思う場面がけっこう出てきます。
でも、Math.random() が出す値や、それを整数に変える方法は最初は少しわかりにくいかもしれません。
Math.random() を実行すると、0以上1未満の小数(例: 0.25 や 0.987)がランダムに得られます。
この記事では、この小数を使ってランダムな整数を作る方法を、実際のコードと一緒に見ていきます。
Math.random()単体の挙動をチェック
JavaScriptの Math.random() は、0以上1未満(0〜0.999…)の間のランダムな小数を返すメソッドです。
このままでは少し使いにくいですが、ランダムな数字を作る基本中の基本なので、まずは動きをしっかり理解しましょう。
👇 下のボタンをクリックして、ランダムな小数が生成される様子を確認してみてください。
Math.random();
Math.floor()でランダム小数を整数に変換する
Math.floor()は、小数点以下を切り捨てて整数を返すメソッドです。
今回は、Math.random()で生成された「0以上1未満」のランダムな小数に10を掛け、その結果の小数点以下を切り捨てています。
こうすることで、0から9までの整数がランダムに生成されます。
もし10を5に変えれば、0から4までの整数が生成されることになります。
👇こちらのボタンを押して、Math.floor(Math.random() * 10)の結果を実際に確認してみてください。
Math.floor(Math.random() * 10)
任意の範囲でランダムな整数を生成する方法
Math.floor(Math.random() * 10) を使うと、0から9までの整数がランダムに生成されます。
これに +1 を加えることで、1から10までの整数が得られます。
つまり、Math.floor(Math.random() * 10) + 1 と書けば、1〜10のランダムな整数を簡単に作ることができます。
同じように、範囲を変えたい場合は掛ける数と加える数を調整すればOKです。
👇たとえば、1〜5の整数を生成したい場合はこうなります。実行して確認してみてください。
Math.floor(Math.random() * 5) + 1;
Math.random() を使って作った自作Webアプリ
🐎 コンピュータに数字を選んでもらう競馬予想アプリ
➕ 毎回ちがう数字をランダムに出題する足し算クイズ
🍛 コンピュータがランダムな挨拶を返してくれるミニアプリ




