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

Existe-t-il un moyen de générer un nombre aléatoire dans une plage spécifiée (par exemple, de 1 à 6 : 1, 2, 3, 4, 5 ou 6) en JavaScript ?

function randomIntFromInterval(min, max) { // min and max included 
  return Math.floor(Math.random() * (max - min + 1) + min);
}

Ce qu'il fait "en plus", c'est qu'il permet des intervalles aléatoires qui ne commencent pas par 1. Vous pouvez donc obtenir un nombre aléatoire de 10 à 15 par exemple. Flexibilité.

Commentaires (17)
Solution

Important

Le code suivant ne fonctionne que si la valeur minimale est `1`. Il ne fonctionne pas pour des valeurs minimales autres que `1`.

Si vous vouliez obtenir un entier aléatoire entre 1 (et seulement 1) et 6, vous calculeriez :

Math.floor(Math.random() * 6) + 1  

Où :

  • 1 est le numéro de départ
  • 6 est le nombre de résultats possibles (1 + début (6) - fin (1))
Commentaires (29)
var x = 6; // can be any number
var rand = Math.floor(Math.random()*x) + 1;
Commentaires (5)