Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/07/2011, 01:10
Avatar de ceSharp
ceSharp
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: validación de array

hola facuferrari,
una vez tuve un problema similar para simular una especie de Bingo. Lo que debes hacer es crear dos arrays, uno vacío (premios) y uno que haga de bolsa, del que se extraen números y luego se borran, de tal manera que en la generación aleatoria nunca se van a repetir porque no se contemplarán los números extraidos:
------------------------------------------------------
var bolsa = new Array();
var premios = new Array();
var totNum = 100
//llenamos la bolsa con el total de números aleatorios, por ejemplo 100
for(z=0;z<totNum+1;z++)
bolsa[z]=z;

function generarPremios()
{
//ahora vamos llenando el array premios con las posiciones del array bolsa de forma aleatoria
for(i=0;i<totNum+1;i++)
{
premios[i]=bolsa[parseInt(Math.random()*((totNum-i)+1))];
//y borramos esa posición de la bolsa
borrarBolsa(premios[i]);
}
}
function borrarBolsa(posicion)
{
//quitamos el valor del array
for(b=0;b<bolsa.length;b++)
{
if(bolsa[b]==posicion)
{
bolsa[b]='';
break;
}
}
//ordenamos el array de menor a mayor para que el vacío quede en la primera posición y la eliminamos
bolsa.sort();bolsa.shift();
}
--------------------------
en la variable totNum pones el número total de 'bolas' que se asignarán al array premios[]. espero que te sirva.
(que lo mismo me he liado y hay una forma más sencilla de hacerlo... no sé)

saludos.