2010-05-23 70 views
10

我想要的objectsarrayActionScript 3排序。排序对象的数组在ActionScript 3

数组是这样的:

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

我可以做一些与Array.sort(...)方法?

+0

你怎么想的元素进行排序? – JeremyFromEarth 2010-05-23 16:15:16

+0

没关系,只是寻找一种排序对象数组的方法,我可以为日期或名称排序,肯尼的答案是完美的,它完美的工作 – vitto 2010-05-23 16:19:36

回答

15

做什么?如果您尝试例如按名称排序,然后日期,使用Array.sortOn

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

除了使用sortOn,这将为像字符串和数字领域的工作,如果你有其他物体或更复杂的逻辑,你可以传递一个比较函数到sort()方法。

你比较功能将被排序功能多次被称为neccesary排序您的阵列。每一次,它都会传递给你的函数两个数组的对象。在这里,你确定这两个对象如何排序,并告诉给排序函数通过返回:

  • 负数:如果第一个 物体进入第二个
  • 正数前:如果第二 对象自带的第一个
  • 0之前:如果两个对象具有相同的排序顺序 。