Array Aleatorios en AS2

El presente es un pequeño tip para hacer ordenamiento aleatorio de un array en ActionScript 2. Como se sabe AS2 tiene la función sort que permite ordenamiento ascendente o descendente pero no aleatoria pero con una pequeña modificación podemos ordenar forma aleatoria los elementos de un array.

El ejemplo original lo encontré en Cyberspace Nova y es Random array in AS2 & AS3 example using sort, solamente he cambiado algunos nombres de variables para hacerlo mas sencillo de entender.

Función para ordenamiento
La función sort permite pasarle como parámetro una función que tiene la regla de ordenamiento que deseamos aplicar, entonces creamos una función llamada sortRandomArray.

[as]
function sortRandomArray(a,b):Number {
var num:Number = Math.round(Math.random()*2)-1;
return num;
}
[/as]

Luego si deseamos ordenar aleatoreamente por ejemplo un array llamado arrIni, tendríamos el siguiente código:

[as]
var arrIni:Array = new Array(«a»,»b»,»c»,»d»,»e»,»f»,»g»);
var arrFin:Array = new Array();
function sortRandomArray(a,b):Number {
var num:Number = Math.round(Math.random()*2)-1;
return num;
}
arrFin = arrIni.sort(sortRandomArray);
trace(arrFin); // b,c,a,d,f,e,g
[/as]

Como pueden ver, muy sencillo pero a la vez muy potente, espero les sirva este pequeño ejemplo.

Comentarios Total 4 comentarios

Alrevez
Publicado: 06/01/2008 10:09 am

Es precisamente lo que estaba buscando, muchas gracias!

sanshiro
Publicado: 08/01/2008 6:56 pm

xD jejeje, muy bueno, lo utilizare en mis webs muajajaja, por cierto, me encontre una web con un buen de contenido sobre SEO y esas cosas, estoy seguro que te pude servir n.n

jessica lopez avellana
Publicado: 06/02/2008 9:12 pm

quiero que muestren 20 ejemplos de eventos aleatorios…!!!!!
asy comò (loteria, bingo, volado d monedas ect..)por fas me lo dejaron de tarea…ok..!!!
PLISSSS!!!!!…..!!!!

esutoraiki
Publicado: 13/07/2008 3:29 pm

Hola, esta interesante el Tip, pero cabe destacar que la función sortRandomArray() no necesita los parametros de entrada a,b

var arrIni:Array = new Array(«a»,»b»,»c»,»d»,»e»,»f»,»g»);
var arrFin:Array = new Array();
function sortRandomArray():Number {
var num:Number = Math.round(Math.random()*2)-1;
return num;
}
arrFin = arrIni.sort(sortRandomArray);
trace(arrFin);

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)