SoloCodigo
Programación Web y Scripting => JavaScript => Mensaje iniciado por: venedan en Lunes 19 de Noviembre de 2007, 01:24
-
bueno mi duda es si es posible poder generar numeros aleatorios por ejemplo del 1 al 3 sin que se repita algunos de los numeros porque estoy haciendo una funcion en javascript que al cargar la pagina esta muestre una foto ok todo bien pero lo malo es que con la funcion ramdon los numeros se repiten y ando buscando alguna forma (si es posible) de hacer un codigo para que no se repitan las imagenes y que vayan desde 1 hasta n sin repetirse y al llegar a n vuelva a 1 y asi consecutivamente
saludos
-
1. Si el rango de los números aleatorios no es muy grande, puedes utilizar un array de booleanos del tamaño del rango de números, a medida que vaya saliendo un número n, comparas si la posición n del array está en true, entonces pones en false esa posición y utilizas n.
2. Introduces en una lista los números y haces aleatorio el apuntador como si se tratase de una ruleta, a medida que un número salga, lo retiras de la lista. Esta forma es más eficiente, pero no se si Javascript maneja listas, sino te toca implementarlas.
-
Otra forma sería llenar un array con valores que vallan de 1 a n y luego en un bucle generar dos números aleatorios x0 y x1 y cambiar la posición x0 del vector con la posición x1 del mismo. Esto hacerlo x veces según te parezca suficiente desordenado.
Un saludo :beer: