2014-09-11 54 views
0

這裏的問題AS3排序。(Array.DESCENDING)問題

var enemy_preference_ordered:Array = new Array(); 
enemy_preference_ordered = [60, 20, 12, 8]; 
enemy_preference_ordered.sort(Array.DESCENDING); 

trace(enemy_preference_ordered) // output 8,60,20,12 

我希望它是降序排列,從而輸出應爲60,20,12,8,我錯過了哪一步?

回答

2

使用Array.NUMERIC太像:

enemy_preference_ordered.sort(Array.DESCENDING | Array.NUMERIC); 
3

如果調整sort函數的參數,你應該得到想要的結果。

enemy_preference_ordered.sort(Array.DESCENDING | Array.NUMERIC); 
+0

什麼|這樣做,是否意味着降序和數字? – 2014-09-11 12:33:06

+3

@AdamEdney這些是標誌,爲了使它們都處於活動狀態,您需要在它們之間放置「按位或」操作符。 '&'將標誌設置爲零,因爲兩個單獨標誌上的「按位與」運算符的結果爲零,因此您的數組將按升序排序。 – Vesper 2014-09-11 13:00:46