jsでランダムな整数を取得する方法

下次还敢
リリース: 2024-05-06 10:09:18
オリジナル
660 人が閲覧しました

JavaScript でランダムな整数を取得するには、次のようなさまざまな方法があります。 Math.floor(Math.random() * (max - min + 1)) + min を使用: 最小値と最大値 (両端を含む) の整数の間の乱数を生成します。 Crypto.getRandomValues() を使用します。最小値と最大値を含む、より安全なランダムな整数を生成します。

jsでランダムな整数を取得する方法

JavaScript でランダムな整数を取得する方法

JavaScript でランダムな整数を取得する方法は多数あり、どの方法を選択するかは特定のニーズによって異なります。

Math.floor(Math.random() * (max - min + 1)) + min

最も一般的な方法は、Math.random()Math を使用することです。 .floor() 関数: Math.random()Math.floor() 函数:

  • Math.random() 返回一个介于 0(含)和 1(不含)之间的随机浮点数。
  • Math.floor() 将浮点数向下取整。

Math.random() 乘以 max - min + 1,可以得到一个介于 minmax(含)之间的随机浮点数。然后使用 Math.floor() 将浮点数向下取整,得到一个整数。minmax 是要生成的随机整数的最小值和最大值。

示例:

<code class="js">// 生成一个介于 0 和 9(含)之间的随机整数
let randomInteger = Math.floor(Math.random() * (9 - 0 + 1)) + 0;
console.log(randomInteger); // 输出:介于 0 和 9 之间的随机整数</code>
ログイン後にコピー

Crypto.getRandomValues()

对于需要更安全随机整数的情况下,可以使用 Crypto.getRandomValues() 方法:

  • window.crypto.getRandomValues() 返回一个包含随机字节数组的 Uint8Array

可以使用 fromArrayBuffer() 方法将 Uint8Array

  • Math.random() 0 (両端を含む) から 1 (両端を含まない) までのランダムな浮動小数点数を返します。
  • Math.floor() 浮動小数点数を切り捨てます。
Math.random()max - min + 1 を乗算して、min の間の値を取得します。 maxmax の間の浮動小数点数 (両端を含む)。次に、Math.floor() を使用して浮動小数点数を切り捨て、整数を取得します。 minmax は、生成されるランダムな整数の最小値と最大値です。

例:

🎜
<code class="js">// 生成一个介于 100 和 999(含)之间的随机整数
let buffer = new ArrayBuffer(4);
window.crypto.getRandomValues(buffer);
let int = new DataView(buffer).getUint32(0);
let min = 100;
let max = 999;
let randomInteger = int % (max - min + 1) + min;
console.log(randomInteger); // 输出:介于 100 和 999 之间的随机整数</code>
ログイン後にコピー
🎜🎜Crypto.getRandomValues()🎜🎜🎜より安全なランダム整数が必要な場合は、Crypto.getRandomValues() メソッドを使用できます: 🎜
  • window.crypto.getRandomValues() は、ランダムなバイト配列を含む Uint8Array を返します。
🎜fromArrayBuffer() メソッドを使用して、Uint8Array を整数に変換できます: 🎜🎜🎜例: 🎜🎜rrreee

以上がjsでランダムな整数を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!