中学生でもわかるJavaScriptのMath.random()メソッド

programming
DMM WEBCAMP

こんにちは、フローです。

今回は、JavaScriptのMath.random()メソッドについて書いていきたいと思います。

Math.random()とは

JavaScriptのMath.random()は、

0以上1未満のランダムな浮動小数点数(実数)を生成するメソッドです。

このメソッドが返す値は、0から1までの間で任意の数値になりますが、1は含まれません。

Math.random()の使いどころ

Math.random()メソッドは、

ランダムな数値が必要なときに使います。

たとえば、

ゲームでランダムな結果を生成したり、

ランダムな要素を選択したり、

テストデータを生成したりする際などに便利です。

Math.random()の使用パターン

パターン1:0から1までのランダムな数値を生成

まず最初の例として、単純に0から1までのランダムな数値を生成するパターンを見てみましょう。

let random = Math.random();
console.log(random);

パターン2:特定の範囲内のランダムな整数を生成

次に、特定の範囲内のランダムな整数を生成するパターンを見てみましょう。

let min = 1;
let max = 10;
let randomInt = Math.floor(Math.random() * (max - min + 1) + min);
console.log(randomInt);

このコードでは、1から10までのランダムな整数を生成しています。

Math.random()が0以上1未満の数値を返すので、

(max - min + 1)で乗算して範囲を調整し、

minを加えて最小値を上げ、Math.floor()で小数点以下を切り捨てて整数にしています。

パターン3:配列からランダムな要素を選ぶ

最後に、配列からランダムな要素を選ぶパターンを見てみましょう。

let fruits = ['apple', 'banana', 'mango', 'guava'];
let randomFruit = fruits[Math.floor(Math.random() * fruits.length)];
console.log(randomFruit);

この例では、配列fruitsからランダムな要素を選んでいます。

配列の長さfruits.lengthを使用してランダムなインデックスを生成し、

それを使って配列から要素を選んでいます。

Math.random()の注意点

Math.random()メソッドは非常に便利ですが、

その性質上、生成される数値は予測できないため、

再現性が必要な場合(例えば、同じ条件でのテストの実行など)には向いていません。

また、Math.random()が生成する乱数は完全にランダムではなく、

擬似乱数であるため、高度なセキュリティを必要とする場合にも使用は適していません。

以下に、誤った使い方の一例を示します。

let randomIndex = Math.random() * array.length;
console.log(array[randomIndex]); // undefined

このコードは意図通りに動作しません。

Math.random()は0以上1未満の数を返すため、

配列の長さと乗算すると、

結果として得られる数は配列のインデックスとしては有効ですが、

そのままでは整数ではなくなります。

配列のインデックスとして使うためには、

Math.floor()関数を使って数値を整数に丸める必要があります。

まとめ

JavaScriptのMath.random()メソッドは、

ランダムな数値を生成するための便利なツールです。

ただし、その結果は予測不可能であり、

かつ擬似乱数であることを理解しておくことが重要です。

また、結果をそのまま配列のインデックスとして使用すると誤った結果を得る可能性があるため、

適切に整数に丸めることも忘れてはなりません。

以上、

「中学生でもわかるJavaScriptのMath.random()メソッド」の解説でした。

プログラミングの学習は複雑で難しい場面もありますが、

基本的な機能を一つずつ理解していくことで、大きな壁も乗り越えていけます。

次回もこのようなわかりやすい解説を続けていきますので、お楽しみに!

レッツチャレンジ!