前回のレッスンで、格言ガチャで表示したいテキストを配列にまとめました。
インデックス番号を使えば、配列に含まれている要素を1つだけ取り出すことも出来そうです。
今回は「②どれか1つをランダムに選ぶ」方法を考えてみましょう。
配列の中身を1つだけ取り出すには、配列の番号を使います。
ですので、番号の0~4までをランダムに決められれば実現します。
ランダムな数字を作るためには、Mathオブジェクトを使います。
これはJavaScriptに組み込まれている機能で、Math=数学的な計算をしてくれます。
Mathオブジェクトには色々な計算式が用意されています。
今回は、乱数(ランダムな数列)を生成する.randomを使用します。
説明だけ見てもよく分かりませんね。
実際どんなものか、alertで見てみましょう。
alert(Math.random());
保存して、ブラウザで開くとアラートに数字が出てきます。
再読み込みすると、表示される数字が変わっているはずです。
生成する数を指定したい場合は、下記のように書きます。
保存してページを開くと、表示される数字が変わることが分かります。
ランダムな数は作れているものの、現在は小数点以下がやけに長く出ていますよね。
配列の番号を作りたいので、このままでは使えません。
生成される数が整数になるように、Math.floorで囲みます。
Math.floorは小数点以下を切り捨てるというもの。
Math.randomと組み合わせると、ランダム生成する値が整数になります。
Math~で生成するランダムな数字を、配列kakugen_itemsの要素数に限定します。
先程までは「6」をかけていましたが、配列内要素の数と違いますね。
6の部分に、配列の長さを取り出したkakugen_items.lengthを入れましょう。
こうしておくと、自動で配列の要素数に合わせて数が変わります。
他の格言も加えよう…となったときに便利です。
alert内に直書きできないので、定数に入れて使ってみましょう。
const num = Math.floor(Math.random() * kakugen_items.length);
alert( num );
無料ビデオ講座のお知らせ
Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。