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
Publicado: 06/01/2008 10:09 am
Es precisamente lo que estaba buscando, muchas gracias!
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
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!!!!!…..!!!!
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);