Maison  >  Article  >  interface Web  >  Comment obtenir des entiers aléatoires en js

Comment obtenir des entiers aléatoires en js

下次还敢
下次还敢original
2024-05-06 10:09:18662parcourir

Il existe de nombreuses façons d'obtenir des entiers aléatoires en JavaScript, notamment : en utilisant Math.floor(Math.random() * (max - min + 1)) + min : générer un nombre aléatoire entre min et max (inclus) Integers ; utilisez Crypto.getRandomValues() : générez des entiers aléatoires plus sécurisés entre min et max (inclus).

Comment obtenir des entiers aléatoires en js

Façons d'obtenir des entiers aléatoires en JavaScript

Il existe de nombreuses façons d'obtenir des entiers aléatoires en JavaScript, et la méthode que vous choisissez dépend de vos besoins spécifiques.

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

La méthode la plus courante consiste à utiliser Math.random() et Math .floor() Fonction : 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() Renvoie un nombre aléatoire à virgule flottante entre 0 (inclus) et 1 (exclusif).
  • Math.floor() Arrondit un nombre à virgule flottante vers le bas.
Multipliez Math.random() par max - min + 1 pour obtenir une valeur comprise entre min et aléatoire nombre à virgule flottante compris entre et max (inclus). Utilisez ensuite Math.floor() pour arrondir le nombre à virgule flottante vers le bas pour obtenir un entier. min et max sont les valeurs minimales et maximales des entiers aléatoires à générer.

Exemple :

🎜
<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()🎜🎜🎜Pour les cas où des entiers aléatoires plus sécurisés sont nécessaires, vous pouvez utiliser la méthode Crypto.getRandomValues() : 🎜
  • window.crypto.getRandomValues() renvoie un Uint8Array contenant un tableau d'octets aléatoires.
🎜Vous pouvez utiliser la méthode fromArrayBuffer() pour convertir Uint8Array en un entier : 🎜🎜🎜Exemple : 🎜🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn