2015-03-02 41 views
1

有沒有排序多維數組的方法。我想按第二維排序。AS3多維數組排序

因此,例如.....

array[0][1] = 5 
    array[1][1] = 20 
    array[2][1] = 10 

我希望可以將輸出爲5,10,20

我累了幾個很少/沒有成功的實驗。例如

array.sortOn("1", 0, Array.NUMERIC); 

任何想法?

+0

您可以使用自定義排序功能http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html#sort( ) – 2015-03-02 21:54:57

回答

1

您可以使用custom sort function

var myArray = [[0,5],[0,20],[0,10]]; 
var sorted = myArray.sort(function(a:Array,b:Array):Number{ 
    return a[1] - b[1]; 
}); 
1

你的第二個參數是0,它應該是你的陣列選項。例如:

var array:Array = [ 
    [1, 100], 
    [2, 50], 
    [3, 75] 
] 

array.sortOn("1", Array.NUMERIC) 
trace(array.join("\n")) 

array.sortOn("0", Array.NUMERIC); 
trace(array.join("\n")) 

結果:

2,50 
3,75 
1,100 

1,100 
2,50 
3,75