Comunidad de diseño web y desarrollo en internet

Cómo ordenar elementos de un Vector en Actionscript 3

Siguiendo con el articulo escrito por M@U sobre la nueva clase Vector de Actionscript 3, donde se preguntaba como ordenar los elementos de un vector, aquí escribo un Tip de como hacerlo.

Para ordenar los elementos de un Vector en realidad se realiza de igual manera que en un Array. Únicamente deberemos escribir una función que compare lo elementos según el orden que nos interese.

El valor que nos ha de devolver la función que realiza la comparación deberá ser:

  • 1: Si el primer valor es superior al segundo
  • -1: si el primer valor es inferior al segundo
  • 0: Si los valores son iguales


De manera que si creamos un Vector con 10 numero aleatorios:

Código :

var vector:Vector.<uint> = new Vector.<uint>();
for (var i:int = 0; i < 10; i++)
{
   vector.push(Math.random() * 100);
}
trace(vector); //25,19,69,95,57,78,59,86,2,97


Si ahora lo quisiésemos ordenar de forma ascendente haríamos lo siguiente:

Código :

function ascendente(x:uint, y:uint):int
{
   return (x >= y)?1 :-1;
}
vector.sort(ascendente);
trace(vector); //2,19,25,57,59,69,78,86,95,97


Y lo mismo para ordenarlo de forma descendente:

Código :

function descendente(x:uint, y:uint):int
{
   return (x < y)?1 :-1;
}
vector.sort(descendente);
trace(vector); //97,95,86,78,69,59,57,25,19,2

Cristalab y Mejorando.la te traen el Curso Profesional de Node.js y Javascript. Online, avanzado, con diploma de certificación y clases en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate