elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] Duda javascript: desordenar array con bucle
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Duda javascript: desordenar array con bucle  (Leído 4,658 veces)
masterkein

Desconectado Desconectado

Mensajes: 5



Ver Perfil
[Resuelto] Duda javascript: desordenar array con bucle
« en: 12 Mayo 2018, 18:28 pm »

Estoy haciendo un ejercicio para un trabajo y tengo un problema a la hora de desordenar un array. Es decir, tengo un array llamado "numeros" y una función que lo desordena. Después creo un array vacío llamado "numerosDesordenados" el cual lo llenaré con tres posiciones, las cuales serán tres veces el array "numeros" desordenado de diferente manera. ¿Por qué cuando creo las posiciones del array "numerosDesordenados" con la función de desordenar el array "numeros" siempre me crea el mismo desorden? Os muestro código y el resultado:

Código
  1. function desordenar(array){
  2.  array = array.sort(function() {return Math.random() - 0.5});
  3.  return array;
  4. } // esta función me desordena un array
  5.  
  6. var numeros= ["1", "2", "3", "4", "5"]; //este es mi array
  7.  
  8. numerosDesordenados= []; // array vacio
  9.  
  10. for (i=0;i<3;i++){ //creo bucle para llenar array vacío
  11.  numerosDesordenados[i] = desordenar(numeros);
  12. }

Si hago un console.log(numeros) me muestra en consola ["1, "2", "3", "4", "5"]. Bien...Si hago un console.log(numerosDesordenados) me muestra un array con tres posiciones siempre con la misma mezcla, por ejemplo:

Código
  1. [0] = ["2","3","1","5","4"]
  2.  
  3. [1] = ["2","3","1","5","4"]
  4.  
  5. [3] = ["2","3","1","5","4"]


Yo quiero que las tres posiciones sean diferentes. Como lo puedo hacer?? Muchas gracias!!


« Última modificación: 29 Mayo 2018, 18:54 pm por #!drvy » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Duda javascript: desordenar array con bucle
« Respuesta #1 en: 12 Mayo 2018, 22:13 pm »

desordenar array con bucle
(...)
Como lo puedo hacer??

Seriamente, ¿cuantas veces crees que se ha podido formular esa misma pregunta en Internet, cien, mil, cien mil veces?, yo diria que más. Al menos podrías buscar en Google para descubrir cual es la forma óptima o aconsejable para desordenar un Array en javascript...


Saludos!


« Última modificación: 12 Mayo 2018, 22:19 pm por Eleкtro » En línea



Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Duda javascript: desordenar array con bucle
« Respuesta #2 en: 13 Mayo 2018, 02:10 am »

Solo añadir que el bucle no precisa llegar a 0, cuando solo queda un elemento por ordenar resulta absurdo pedir que elija otro (si solo queda 1), al azar para que ocupe su puesto...

Recuerda que cada lenguaje tiene una forma de activar el generador aleatorio, mediante una semilla, si no, suelen repetirse las secuencias, lo  cual es más notorio, cuando se piden exactamente de cada vez las mismas cantidades de números aleatorios.
Generalmente elegir una semilla adecuada es algo complicado, pero salvo que haya un botón de 'destruir el mundo', basta con usar el timer (los segundos que han pasado desde la medianoche), incluso usar ese valor para elegir un primo de una lista. y con es eprimo 'moduar' ese valor del timer para usarlo como semilla... 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda (Parar bucle con dato boolean) [bucle while]
Java
Dem0ny 5 18,581 Último mensaje 17 Diciembre 2008, 17:43 pm
por Dem0ny
Array y bucle for « 1 2 »
Java
Dem0ny 12 9,589 Último mensaje 3 Enero 2010, 23:51 pm
por panaka
[RESUELTO] Método test() en javascript (duda)
Scripting
MA40 2 2,694 Último mensaje 17 Septiembre 2016, 20:38 pm
por MA40
[javascript] [Bucle For] invertir números en javascript.
Desarrollo Web
Ali Baba 3 9,810 Último mensaje 29 Mayo 2017, 10:00 am
por ThinkByYourself
MOVIDO: Duda javascript: desordenar array con bucle
Programación General
Eleкtro 0 2,633 Último mensaje 12 Mayo 2018, 22:14 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines