ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScriptで乱数を作成する方法

JavaScriptで乱数を作成する方法

WBOY
リリース: 2023-05-21 11:05:07
オリジナル
1821 人が閲覧しました

乱数は JavaScript の非常に重要な関数です。ランダムな英数字の生成や暗号化用のキーの生成に使用できるだけでなく、宝くじゲーム、シミュレーション ゲーム、その他のアプリケーションの作成にも使用できます。この記事では、JavaScript が乱数を作成する方法について詳しく説明します。

JavaScript の乱数生成関数

JavaScript では、Math オブジェクトのrandom() メソッドを使用して乱数を生成できます。このメソッドは、0 と 1 の間の擬似乱数 (0 と 1 を含み、1 を除きます) を返します。以下は、乱数を生成してコンソールに出力する簡単な例です。

var randomNum = Math.random();
console.log(randomNum);
ログイン後にコピー

Math.random() メソッドは擬似乱数を返すため、コードが実行されるたびに乱数が生成されます。異なります。ただし、指定された範囲内で乱数を生成する必要がある場合があり、そのためには Math.random() メソッドの処理が必要になります。

指定した範囲内の乱数を生成する

次の方法で指定した範囲内の乱数を生成できます:

  1. 0 から 1 までの乱数を取得します。数値;
  2. 乱数に指定された範囲の長さを乗算します;
  3. 結果を切り捨てます;
  4. 丸めた結果を範囲に追加します。最小値。

以下は 0 ~ 9 のランダムな整数を生成する例です。

var randomInt = Math.floor(Math.random() * 10);
console.log(randomInt);
ログイン後にコピー

このときの結果は 0 ~ 9 の整数になります。

同様に、パラメーターを変更することで、他の範囲のランダムな整数を生成できます。たとえば、10 ~ 20 の範囲のランダムな整数を生成します。

var randomInt = Math.floor(Math.random() * 11 + 10);
console.log(randomInt);
ログイン後にコピー

ここでは、結果の値の範囲を 0 ~ 9 から 10 ~ 20 に変更するため、結果は 10 ~ 20 の整数になります。

ランダムな文字と数字を生成する

ランダムな整数を生成することに加えて、ランダムな文字と数字を生成することもできます。この機能を実現するには、すべての可能な文字を含む文字列を定義できます。次に、乱数発生器を使用してその中から文字を選択します。

以下は、大文字、小文字、数字を含むランダムな文字列を生成する例です:

var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var randomStr = '';
for(var i = 0; i < 8; i++) {
  randomStr += chars[Math.floor(Math.random() * chars.length)];
}
console.log(randomStr);
ログイン後にコピー

ここでは、数字、小文字、大文字で構成される文字列をランダム文字ソースとして選択しました。 。まず空の文字列randomStrを定義し、次にforループを使用して文字ソースからランダムな文字を選択し、それらをrandomStr文字列に追加します。 8 回ループすると、ランダムな 8 文字を含む文字列が得られます。

概要

JavaScript で乱数を作成する方法は非常に簡単で、必要に応じてさまざまな範囲とタイプの乱数を生成できます。ランダムな要素を必要とするアプリケーションを作成する必要がある場合、これらのメソッドを使用してニーズを達成できます。

以上がJavaScriptで乱数を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート