Foros del Web » Programando para Internet » Javascript »

randomize urgente!!!!!!!!!!!!

Estas en el tema de randomize urgente!!!!!!!!!!!! en el foro de Javascript en Foros del Web. como puedo hacer un random en un vector o arrays simple por favor urgente...
  #1 (permalink)  
Antiguo 27/03/2003, 14:18
 
Fecha de Ingreso: marzo-2003
Ubicación: stgo
Mensajes: 91
Antigüedad: 21 años, 8 meses
Puntos: 0
randomize urgente!!!!!!!!!!!!

como puedo hacer un random en un vector o arrays simple

por favor urgente
  #2 (permalink)  
Antiguo 27/03/2003, 14:24
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
La funció Math.random() retorna un valor pseudo-aleatorio entre 0 y 1. Es lo que normalmente se usa en estos casos.

Saludos.
  #3 (permalink)  
Antiguo 27/03/2003, 14:32
 
Fecha de Ingreso: marzo-2003
Ubicación: stgo
Mensajes: 91
Antigüedad: 21 años, 8 meses
Puntos: 0
De acuerdo

pero necesito rescatar 3 id aleatorios para luego desplegar las noticias sin k ellas se repitan como lo puedo hacer
  #4 (permalink)  
Antiguo 27/03/2003, 14:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola Chicoco (hola kao )

Complementando lo que dice kao, y adaptado a arrays (según la pregunta), pongo la línea que tengo en mi página para seleccionar un fichero de sonido de manera aleatoria...

var sonido = archi[Math.floor(Math.random() * archi.length)];

archi es el array de sonidos que comenté anteriormente.

Math.floor se usa para el redondeo (creo que devuelve el valor absoluto... [redondeo sería otra cosa ¿?])

Saludos
  #5 (permalink)  
Antiguo 27/03/2003, 15:15
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
Complementando lo que dice Caricatos de lo que digo yo...

- Math.floor() retorna un número entero que resulta de eliminarle los decimales (entero inmediatamente inferior).
- Math.ceil() lleva un número con decimales al entero inmediatamente superior.
- Math.round() lleva al entero mas cercano.

Saludos.
  #6 (permalink)  
Antiguo 27/03/2003, 15:44
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
Si necesitas tomar tres números distintos en un arreglo, aleatorios, voy a suponer que necesitas números del 0 al 9 ya que no lo mencionas, debes hacerlo asi:

var arreglo[3];

for (var i = 0; i < arreglo.length; i++)
arreglo[i] = Math.floor(Math.round() * 10);

Con eso tomas un valor aleatorio que va entre digamos 0.00000001 y 0.999999999999, por lo que al multiplicarlo por diez y eliminar los decimales obtienes un número entre 0 y 9.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:31.