2010-05-23 23 views
10

Estoy tratando de ordenar un array de objects con ActionScript 3.Ordenar una matriz de objetos en ActionScript 3

la matriz es la siguiente:

var arr:Array = new Array(); 
arr.push ({name:"John", date:"20080324", message:"Hi"}); 
arr.push ({name:"Susan", date:"20090528", message:"hello"}); 

puedo hacer algo con Array.sort(...) método?

+0

¿Cómo desea ordenar los elementos? – JeremyFromEarth

+0

No importa, solo estoy buscando un método para ordenar matrices de objetos, podría ordenar por fecha o nombre, la respuesta de Kenny es perfecta, y funciona perfectamente – vitto

Respuesta

15

¿Qué? Si intentas, por ejemplo, ordenar por nombre, luego fecha, usar Array.sortOn.

arr.sortOn(['name', 'date']) 
5

Aparte del uso de sortOn, que va a trabajar para campos como cadenas y números, si usted tiene otros objetos o lógica más compleja, que podría pasar una función de comparación con el método sort().

Su función de comparación será llamada por la función de ordenación tantas veces como sea necesario para ordenar su matriz. Cada vez, pasará a su función dos de los objetos de las matrices. Aquí, a determinar cómo ordenar estos dos objetos y dice que la función de clasificación mediante la devolución:

  • un número negativo: si el primer objeto está antes que el segundo
  • un número positivo: si el segundo objeto viene antes del primero
  • 0: si ambos objetos tienen el mismo orden de clasificación .
Cuestiones relacionadas