Editar: Una solución mejor que este o los demás incluidas en este documento se puede encontrar in this answer a esta pregunta cuando se le preguntó de nuevo en 2008. En resumen: Generar una matriz (como Darin sugiere en su respuesta a continuación) y barájalo usando el Knuth-Yates-Fisher shuffle. No utilice una combinación ingenua, use una que se sabe que tiene buenos resultados.
Eso es más o menos cómo lo haría, sí. Probablemente usaría un objeto para hacer un seguimiento de los enteros que ya tenía, ya que es conveniente. Por ejemplo:
var ints = {};
Luego, una vez que haya creado un nuevo número aleatorio, lo comprueba y, posiblemente, mantenerlo:
if (!ints[number]) {
// It's a keeper
ints[number] = true;
results.push(number);
}
bien, ese es el camino :) –
Otra forma es poner todos los valores posibles en una matriz, mezclarlos y tomar los primeros 5. –
5 veces el mismo resultado también es aleatorio. ¿O no confías en el universo? ;) –