2012-12-22 20 views
-1

想象對象的簡單AS3數組是這樣的: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

您可以通過使用數組來包含排序字段進行二次排序。另外,我假設你想要做一個數字排序:

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); 

如果你不與那些你有一個字符串使用數字,它要對它們進行排序,如果他們是字符串。例如:

1 
10 
100 
2 
20 
3 
300 

,而不是

1 
2 
3 
10 
20 
100 
300 
+0

我簡直不敢相信這是我省略了第二個排序:) 謝謝原型,這就是我一直在尋找。 –

+1

當你花時間回答某人的問題時,你是否喜歡它,他們花時間通過評論感謝你的解決方案 - 但他們忘了接受答案!哈哈 :) – prototypical