Maison >interface Web >js tutoriel >Comment puis-je générer des nombres aléatoires uniques dans une plage spécifique en JavaScript ?

Comment puis-je générer des nombres aléatoires uniques dans une plage spécifique en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 22:21:18956parcourir

How Can I Generate Unique Random Numbers Within a Specific Range in JavaScript?

Génération de nombres aléatoires uniques dans une plage spécifique à l'aide de JavaScript

La tâche à accomplir est de concevoir une méthode en JavaScript qui génère une série de entiers aléatoires distinctifs dans une plage désignée (dans ce cas, 1 à 100). Pour y parvenir, nous pouvons exploiter l'approche suivante :

En utilisant la fonction JavaScript Math.random(), un entier aléatoire compris entre 0 et 99 peut être obtenu. Pour transformer cette valeur dans la plage souhaitée, ajoutez-y 1.

Pour garantir l'unicité de nos nombres aléatoires, nous mettons en œuvre une simple vérification. A l'aide de la fonction indexOf(), on vérifie que le nombre généré n'existe pas déjà dans un tableau (utilisé pour stocker les nombres générés). S'il s'agit d'un nouveau nombre, nous l'ajoutons au tableau.

Ce processus se poursuit jusqu'à ce que le tableau atteigne le nombre souhaité de nombres aléatoires uniques.

Par exemple, pour générer et stocker huit nombres aléatoires uniques nombres compris entre 1 et 100 dans un tableau, l'extrait de code suivant peut être utilisé :

var arr = [];
while (arr.length < 8) {
  var r = Math.floor(Math.random() * 100) + 1;
  if (arr.indexOf(r) === -1) arr.push(r);
}
console.log(arr);

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