Comment générer un nombre aléatoire entre deux nombres en JavaScript

Moataz Farid 12 octobre 2023
  1. Générer un nombre aléatoire entre 1 et une valeur définie par l’utilisateur en JavaScript
  2. Générer un nombre aléatoire entre deux nombres en JavaScript
Comment générer un nombre aléatoire entre deux nombres en JavaScript

Ce tutoriel vous apprendra à générer un nombre aléatoire entre deux nombres en JavaScript. Nous utiliserons la méthode Math.random() qui génère un nombre float aléatoire entre 0.0 et 0.999.

Générer un nombre aléatoire entre 1 et une valeur définie par l’utilisateur en JavaScript

Nous pouvons générer un nombre aléatoire en JavaScript à l’aide d’un générateur de nombres aléatoires - Math.random(), en multipliant le nombre de flotteurs généré par le nombre maximum que nous voulons générer. Math.random()* max génère un nombre aléatoire entre 0 et max.

function generateRandom(max) {
  return Math.random() * max;
}

console.log('1st try: ' + generateRandom(5));
console.log('2nd try: ' + generateRandom(5));
console.log('3rd try: ' + generateRandom(5));
console.log('4th try: ' + generateRandom(5));

Production :

1st try: 3.3202340813091347
2nd try: 1.9796467067025836
3rd try: 3.297605748406279
4th try: 1.1006700756032417

Si nous voulons obtenir uniquement le résultat sous forme d’entier, nous pouvons utiliser Math.floor(), cette méthode retourne le plus grand entier inférieur ou égal au nombre d’entrée.

console.log(Math.floor(1.02));
console.log(Math.floor(1.5));
console.log(Math.floor(1.9));
console.log(Math.floor(1));

Production :

1
1
1
1

En utilisant la méthode Math.floor(), nous pouvons obtenir nos entiers générés aléatoirement,

function generateRandomInt(max) {
  return Math.floor(Math.random() * max);
}

console.log('1st Integer try: ' + generateRandomInt(9));
console.log('2nd Integer try: ' + generateRandomInt(9));
console.log('3rd Integer try: ' + generateRandomInt(9));
console.log('4th Integer try: ' + generateRandomInt(9));

Production :

1st Integer try: 8
2nd Integer try: 5
3rd Integer try: 7
4th Integer try: 0

Générer un nombre aléatoire entre deux nombres en JavaScript

Si nous voulons également avoir une valeur minimale définie par l’utilisateur, nous devons changer l’équation de Math.random() * max en Math.random() * (max-min)) +min. En utilisant cette équation, la valeur retournée est un nombre aléatoire entre min et max.

function generateRandomInt(min, max) {
  return Math.floor((Math.random() * (max - min)) + min);
}

console.log('1st min and max try: ' + generateRandomInt(2, 9));
console.log('2nd min and max try: ' + generateRandomInt(2, 9));
console.log('3rd min and max try: ' + generateRandomInt(2, 9));
console.log('4th min and max try: ' + generateRandomInt(2, 9));

Production :

1st min and max try: 6
2nd min and max try: 2
3rd min and max try: 8
4th min and max try: 3

Si nous souhaitons inclure la valeur max dans notre générateur aléatoire, nous devons changer l’équation en Math.random() * (max+1 - min) + min. L’ajout de 1 à max-min inclura le max dans la plage et Math.floor() garantira toujours que cette valeur n’est pas supérieure au max.

function generateRandomInt(min, max) {
  return Math.floor((Math.random() * (max + 1 - min)) + min);
}

console.log('1st min and max included try: ' + generateRandomInt(2, 9));
console.log('2nd min and max included try: ' + generateRandomInt(2, 9));
console.log('3rd min and max included try: ' + generateRandomInt(2, 9));
console.log('4th min and max included try: ' + generateRandomInt(2, 9));

Production :

1st min and max included try: 3
2nd min and max included try: 7
3rd min and max included try: 9
4th min and max included try: 6

Article connexe - JavaScript Number