Mezclar listas en Java Script

Mezclar listas en Java Script

En este tutorial aprenderemos a mezclar listas en Java Script. Esta funcionalidad puede ser muy útil en muchos casos, por ejemplo si estamos desarrollando un juego de cartas y las queremos mezclar.
En la actualidad hay muchos algoritmos para realizar esta tarea pero en este caso la vamos a realizar de la forma más simple y utilizando la función random.

¿Cómo mezclar listas en Java Script?

Antes de comenzar tenemos que entender bien el funcionamiento de la función random en Java Script, para esto los invito a leer el tutorial que explica la manera de generar un número random en Java Script.
Una vez que ya entendimos su comportamiento podemos pasar a programar nuestra función:

	  /* Función que permite mezclar listas de cualquier tipo*/
	  function mezclar(lista) {
	    for (i = 0; i < lista.length; i++) {
	      valor = lista[i];

	      indice = random(0, lista.length - 1);

	      lista[i] = lista[indice];
	      lista[indice] = valor;

	    }
	  }

	  /* Función que genera un número random entre dos números*/
	  function random(desde, hasta) {
	    return Math.floor(Math.random() * (hasta - (desde - 1))) + desde;
	  }

	  /* Lista para la demo*/
	  var listaEjemplo = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

	  /* Mezclando la lista*/
	  mezclar(listaEjemplo);

	  /* Mostrando la lista mezclada*/
	  alert(listaEjemplo);

Básicamente lo que hace la función “mezclar” es recorrer toda la lista y por cada elemento hace un intercambio con otro ubicado en una posición random. Como pueden ver esta función es sencilla y fácil de usar.

Bueno hemos llegado al final de este tutorial espero que les sea de gran utilidad la función proporcionada para mezclar listas. Ante cualquier problema no duden en dejar un comentario.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *