AS3对象数组 - 不是那么简单的查找/排序

时间:2012-12-22 18:46:40

标签: arrays actionscript-3

想象一个简单的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"

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

1 个答案:

答案 0 :(得分: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