2011-09-30 5 views
0

좋아요, 그래서 m- 배열 (또는 m- 배열을 가지고 있지 않기 때문에 actionscript에있는 배열의 배열)이 있고 superarray의 각 배열에는 많은 수의 객체가 있습니다. 다른 시간에. 나는 각 하위 배열의 인덱스 0에있는 객체의 "시간"매개 변수의 값의 내림차순으로 수퍼 어레이를 정렬하려고합니다.SortOn m- 배열 객체

나는

superarray.sortOn([0].time, Array.DESCENDING); 

superarray.sortOn("0.time", Array.DESCENDING); 

을 시도했지만이 작동하지 않습니다. 어떤 제안? 이렇게하려면 내 자신의 정렬 함수를 작성해야합니까? 그렇다면 가장 좋은 방법은 무엇입니까?

답변

3

비교 함수를 전달하는 Array.sort 함수를 사용해보십시오. 다음과 같은 내용 :

var superarray:Array = [ 
    [{time:900}, {time:715}, {time:655}], 
    [{time:450}, {time:333}, {time:100}], 
    [{time:999}, {time:75}, {time:30}] 
    ]; 
var sorted:Array = superarray.sort(function(A:Array,B:Array):int { 
    return ObjectUtil.numericCompare(A[0].time, B[0].time); 
    }); 
+0

안녕하세요. 나는 비교 함수를 전달하는 것에 대해 몰랐다. 나는 나의 요구를 반영하기 위해 그것을 약간 바꿨지 만 이것은 큰 조언이었다. – Cyborg771