Buenas de nuevo Rafael. Te devuelve la mitad xq estas comparando la longitud
de la matriz con la i del bucle for, date cuenta q a la mitad de la
operación cada una vale 5, y el bucle termina. Has de almacenar simplemente
la longitud total del Array para ejecutar asi el bucle completo.
Te quedaria asi :
<code>
function RandomExcluyente(a, b) {
var listaNumero:Array = new Array();
for (var i = a; i<=b; i++) {
listaNumero.push(i);
}
var totalLength:Number = listaNumero.length;
for (var i = 0; i<totalLength; i++) {
var numRandom:Number = random(listaNumero.length);
var numSelect:Number = listaNumero[numRandom];
trace(numSelect);
listaNumero.splice(numRandom, 1);
}
trace("-----------------");
}
RandomExcluyente(1, 10);
</code>
Un saludo !!
Fede.
El 8/11/05 12:45, "Rafael Martinez-AsNativo" <[EMAIL PROTECTED]>
escribió:
> Muchas gracias a todos!!!!
> A pesar de que trabajo solo en casa, me siento parte de un gran equipo :)
> Bueno no se donde tendrá Manu ese venerado código....:), pero estoy tratando
> de sacarlo ... aunque no me funciona ya que me devuelve la mitad de
> resultados:
> <code>
> function RandomExcluyente(a, b) {
> var listaNumero:Array = new Array();
> for (var i = a; i<=b; i++) {
> listaNumero.push(i);
> }
> for (var i = 0; i<listaNumero.length; i++) {
> var numRandom:Number = Math.round(listaNumero.length*Math.random());
> var numSelect:Number = listaNumero[numRandom];
> trace(numSelect);
> listaNumero.splice(numRandom, 1);
> }
> trace("-----------------");
> }
> RandomExcluyente(1, 10);
> </code>
> Gracias
> ---------------------------------------------
> Rafael Martínez
> [ www.fabricanet.com ]
> ---------------------------------------------
>
>
>
> ----- Original Message -----
> From: "Manuel de la Higuera" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Tuesday, November 08, 2005 11:34 AM
> Subject: RE: [ASNativos] Rango aleatoreo sin repetición
>
>
> Realmente es:
> if (colega.hasDonated()) sorteo.setWinner(colega);
>
> Y eso que auditamos el código...
>
> M.
>
>
>> -----Mensaje original-----
>> De: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] En nombre de Juan V. Delgado
>> Enviado el: martes, 08 de noviembre de 2005 11:24
>> Para: [email protected]
>> Asunto: Re: [ASNativos] Rango aleatoreo sin repetición
>>
>> Joer, Manu tiene uno hecho que utiliza para todos los sorteos
>> de 5dms...
>> sólo tienes que quitarle la propiedad:
>>
>> array.queLeToqueCosaMolonaAColega = false;
>>
>> y listo....
>>
>> ñ_ñ
>>
>> --------- Mensaje Original --------
>> De: [email protected]
>> Para: [email protected] <[email protected]>
>> Asunto: Re: [ASNativos] Rango aleatoreo sin repetición
>> Fecha: 08/11/05 12:15
>>
>>>
>>> 1-. Creas el array con los 100 numeros 2-. Seleccionas un elemento
>>> aleatorio del array con el elemento random 3-. Sacas el
>> elemento del
>>> array con el método splice
>>>
>>> esto con as1...si alguien sabe una manera mas clasista de
>> hacerlo ;-)
>>>
>>> Un saludo
>>>
>>> ----------------------------------
>>> Lista ASNativos:[email protected]
>>> http://www.5dms.com/listas
>>> ----------------------------------
>>>
>>
>> ----------------------------------
>> Lista ASNativos:[email protected]
>> http://www.5dms.com/listas
>> ----------------------------------
>>
>
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
>
>
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
>
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------