Generar un número aleatorio entre dos números en JavaScript

¿Existe una manera de generar un número aleatorio en un rango especificado (por ejemplo, de 1 a 6: 1, 2, 3, 4, 5 o 6) en JavaScript?

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

Lo que hace "extra" es que permite intervalos aleatorios que no empiezan por 1. Así que usted puede obtener un número aleatorio de 10 a 15, por ejemplo. Flexibilidad.

Comentarios (17)
Solución

Importante

El siguiente código sólo funciona si el valor mínimo es `1`. No funciona para valores mínimos distintos de `1`.

Si quisieras obtener un entero aleatorio entre 1 (y sólo 1) y 6, calcularías:

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

Donde:

  • 1 es el número de inicio
  • 6 es el número de resultados posibles (1 + inicio (6) - fin (1))
Comentarios (29)
var x = 6; // can be any number
var rand = Math.floor(Math.random()*x) + 1;
Comentarios (5)