-1

想象一个简单的 AS3 对象数组,如下所示:

var arr:Array = new Array ();
arr.push ({xx:"50", yy:"200"});
arr.push ({xx:"75", yy:"50"});
arr.push ({xx:"25", yy:"100"});
arr.push ({xx:"75", yy:"75"});

我需要以这样的方式对数组进行“数学运算”,以便得到以下结果:

(逻辑应该首先是最小的 yy,然后是最小的 xx)

1. xx:"75", yy:"50"
2. xx:"75", yy:"75"
3. xx:"25", yy:"100"
4. xx:"50", yy:"200"

任何提示,例如...意见,请帮助:)

4

1 回答 1

4

您可以通过使用包含排序字段的数组来进行二次排序。另外,我假设你想做一个数字排序:

var array:Array = new Array;

array.push({xx:75, yy:75});
array.push({xx:75, yy:50});
array.push({xx:100, yy:25});
array.push({xx:200, yy:35});
array.push({xx:75, yy:550});

array.sortOn(["yy","xx"], Array.NUMERIC);

如果您不将 NUMERIC 与您拥有的那些字符串一起使用,它将像它们是字符串一样对它们进行排序。例如 :

1
10
100
2
20
3
300

1
2
3
10
20
100
300
于 2012-12-22T19:36:00.677 回答