entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Empleo de función sort para acceso aleatorio de un arreglo con JavaScript

Tengo el siguiente array:

var array = [1,2,3,4,5,6,7,8,9,10] ;

Si deseo obtener los elementos al azar, ¿como puedo hacerlo eficientemente?

2 Respuestas

1voto

joseco48 Puntos5120

Una forma sencilla de realizar esto puede ser:

var array = [1,2,3,4,5,6,7,8,9,10] ;
var longitud = array.length;
var index= Math.floor(Math.random() * longitud);
alert(array[index]); //Mostramos el elemento aleatorio

Espero te haya servido.
Saludos

0voto

Lo mejor que he visto por ahí para este caso, es utilizar el metodo Fisher-Yates que seria algo como:

function shuffle(array) {
    var m = array.length, t, i;

   // While there remain elements to shuffle…
   while (m) {

       // Pick a remaining element…
       i = Math.floor(Math.random() * m--);

      // And swap it with the current element.
      t = array[m];
      array[m] = array[i];
      array[i] = t;
   }

return array;
}

Aquí es de donde lo saque, viene una explicación mucho mas detallada que puede aclarar dudas.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta