1、数组元素是复杂值对象的排序方法以及逆序排列方法前面我们介绍了数组的 sort 方法,那么 sort 解决了字符串或数值作为数组元素的排列。但是,如果数组元素是封装好的对象,这个时候怎么办?我们来看,第一个元素 player1,它是一个对象,它有相应的键名还有键值。我们同样再定义另外 3 个对象。然后我们再定义一个数组,我们把这 4 个对象都放到这个数组里边。这个时候,如果我想对它排序,我会有不同的原则,比如说我想让它按年龄 age 来排列。注意,这个时候我可以用 sortOn。sortOn 和 sort 在一些使用方式上类似的,只不过第一个参数要提供对比的键名。我要对它排序,我选的参考对象是
2、age,后边是对 age 参数的数组大小来进行比较,同时是一个降序。如果我对整个的排序结果进行遍历,我们前边已经讲过循环访问的方法。在这里比如说,i 是无符号整数,i 从 0 开始,如果 i 小于数组的长度,i 就递增 1。然后trace(tournamenti.name);,前边我们已经对 tournament 按年龄进行降序排列了,降序就是年龄大的在前边,这里我们看年龄最大的是 Paul,接着是 Kazuya,然后 Anna,然后Jack。我们来看一下结果,正是按我们所预期的结果排序的。这就是一个 sortOn 的基本方法。 sortOn 就是说我按哪一个键去对比。这是对于一个数组元素是一个复杂值对象的排序的方式。除了我们前边所介绍的不同的排序方法,我们还可能遇到逆序这个方法。比如说1,2,3,4,5,6.我想把它变成 6,5,4,3,2,1。这个时候我该怎么办呢?这个在数组里边有一个reverse 的方法。比如说,我有一个数组 a,数组里面的元素是 1,2,3,4,5,6,7,8,9。我们 trace(a.reverse();逆序排列。我们来看一下结果 9,8,7,6,5,4,3,2,1。