Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/11/2007, 11:43
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Optimización: Escoger un elemento aleatorio de un array no escogido ya

A ver pues, un primer intento que seguramente sea la forma en que lo resolverías "a lo bestia"

Código PHP:
var miArray = ['flgo'20'pgre'2213816'frkiysoj'9Infinity1114true'bstuhcv''bhatnck'717'nusfgcvd'1921'gmwp''incauo''hqu', { color"rojo"forma"cuadrado" }, 'kficoprn''qofxpdsn''ugdoebq''kxmhs'3'bfce''neduh'15'ueifchsj''kgdmj''ojk''vfqoyhli''buno'18'nrkmf'12623'hnvroupj''gkdtnhq'document.body10'qghsfpdr'241window.screenundefinednull0'ewgmq'NaN4, function () { }, 25window.onloadvoid(0), -Infinity];
var 
yaElegidos = [];
var 
largo miArray.length;

function 
dameElemento() {
    
largoElegidos yaElegidos.length;
    if ( 
largoElegidos largo ) {
        
// termina con 'indice' siendo un índice de la matriz que todavía no fue elegido.
        
while ( yaElegidos.indexOf(indice Math.floorMath.random() * largo )) !== -);
        
yaElegidos[largoElegidos] = indice;
        return 
miArray[indice];
    }
    else
        return 
false;

Opera me da un error en el while, 'type mismatch'. No logro identificar el por qué

Saludos.

Última edición por AlvaroG; 11/11/2007 a las 12:01