Nombres aléatoires en JavaScript
Les nombres aléatoires ont toutes sortes d'utilisations, de l'amusement à la pratique. La plupart des jeux impliquent une sorte de hasard sous la forme de choses comme des dés ou des cartes mélangées. Si vous souhaitez afficher un devis aléatoire lorsque quelqu'un visite votre page, vous avez besoin d'une source de hasard. Les nombres aléatoires ne sont pas tous amusants et des jeux, les nombres aléatoires sont utilisés en cryptographie, pour l'échantillonnage aléatoire, pour la modélisation et pour mettre les choses dans un ordre aléatoire (comme les candidats sur un bulletin de vote.) Certaines de ces utilisations n'utilisent pas directement les nombres , mais vous pouvez convertir des nombres aléatoires en éléments aléatoires en plaçant les éléments que vous souhaitez choisir dans des lignes et en choisissant une ligne au hasard. En programmation, les tableaux fonctionnent bien pour cela. Les nombres aléatoires ne sont pas toujours vraiment aléatoires. Si vous lancez un jeu de dés équitables, vous obtiendrez des nombres aléatoires, mais les méthodes que les ordinateurs utilisent pour choisir des nombres aléatoires sont souvent des nombres pseudo-aléatoires, ce qui signifie qu'ils semblent être aléatoires à la surface, mais ils sont en fait soit prévisibles soit série répétée. Pour certaines choses, ce n'est pas une différence importante. Si vous affichez une citation aléatoire ou une blague à chaque fois que quelqu'un charge votre page Web, peu importe que quelqu'un puisse prédire quand une citation spécifique s'affichera et vous pouvez utiliser en toute sécurité des nombres pseudo-aléatoires (d'ailleurs, vous pourriez probablement montrez simplement vos citations dans l'ordre où vous les avez notées.) Si vous essayez de faire des tests de dépistage aléatoires des athlètes du Tour de France, il est crucial que les athlètes ne soient pas en mesure de prédire quand ou s'ils seront testés.

L'objet JavaScript Math comprend une méthode qui fournit des nombres pseudo-aléatoires. Contrairement à de nombreux autres langages de programmation, JavaScript ne vous permet pas d'amorcer le générateur de nombres avec votre propre source d'aléatoire. Différentes implémentations diffèrent quant à la proximité des nombres vraiment aléatoires fournis, mais en général, ils devraient être assez bons pour être utilisés à des fins ludiques ou artistiques, mais si vous avez besoin de nombres aléatoires à des fins légales ou de sécurité, vous devriez trouver une meilleure source de aléatoire. le math.random () retourne un nombre aléatoire qui est soit 0, soit compris entre 0 et 1. Certaines versions du navigateur Opera ont une conformité non standard math.random () qui retournera très rarement 1. Vous devez en quelque sorte gérer ce résultat inattendu - la suggestion la plus simple que j'ai vue est d'utiliser l'opérateur modulo avec un contre la valeur retournée par math.random (), cela retournera la valeur d'origine si le nombre aléatoire est dans la plage définie et 0 si vous avez obtenu un 1. De plus, je trouve que je n'ai pas besoin d'une décimale aléatoire inférieure à un, mais plutôt d'un entier aléatoire. Pour obtenir un entier aléatoire, vous multipliez la valeur de math.random () par le nombre de nombres aléatoires potentiels que vous voulez (X) et trouver l'entier précédent ou suivant. L'objet mathématique fournit des méthodes de plancher et de plafond que vous pouvez utiliser à cet effet. Si vous utilisez le math.floor () , vous obtiendrez un nombre de 0 à (X-1). Si vous utilisez le math.ceiling () vous obtiendrez un entier de 1 à X.

Pour trouver un nombre aléatoire entre 0 et (X-1), utilisez:

Math.floor ((Math.random ()% 1) * X)

Ils sont particulièrement utiles pour trouver un élément de tableau aléatoire.

Pour trouver un nombre aléatoire entre 1 et X, utilisez:

Math.ceiling ((Math.random ()% 1) * X)

Des tâches comme celle-ci qui sont assez courantes mais nécessitent un peu de frappe sont de bons candidats pour être transformées en fonction.

Pour une discussion sur la différence entre les nombres vraiment aléatoires et les nombres pseudo-aléatoires que nous utilisons ici, une source de nombres vraiment aléatoires et quelques exemples de choses amusantes que vous pouvez faire avec des nombres aléatoires ou pseudo-aléatoires, consultez www.random. org

Instructions Vidéo: Comment générer un nombre aléatoire en JavaScript ? (ES6) (Mai 2024).