在ActionScript 3中对对象数组进行排序

vit*_*tto 10 arrays sorting actionscript-3

我想排序的arrayobjectsActionScript 3.

数组是这样的:

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

我可以用Array.sort(...)方法做点什么吗?

ken*_*ytm 15

做什么?如果你试图按名称排序,那么请使用日期Array.sortOn.

arr.sortOn(['name', 'date'])
Run Code Online (Sandbox Code Playgroud)


Jua*_*ano 5

除了using之外sortOn,它可以用于字符串和数字等字段,如果你有其他对象或更复杂的逻辑,你可以将compare函数传递给sort()方法.

您的比较函数将由sort函数调用多次,以便对数组进行排序.每次,它都会将两个数组的对象传递给您的函数.在这里,您可以通过返回来确定这两个对象如何排序并告诉sort函数:

  • 负数:如果第一个对象在第二个对象之前
  • 正数:如果第二个对象在第一个对象之前
  • 0:如果两个对象具有相同的排序顺序.