티스토리 뷰
as3.0에서는 자바스크립트와 다르게 별도의 옵션을 자동으로 제공하므로 각 해당 상황에 맞게 쓰기만 하면 된다.
sort() 메서드를 사용한 기본 정렬(Array 클래스만 해당)
Array 인스턴스의 경우 sort() 메서드는 기본 정렬 순서를 사용하여 배열의 요소를 다시 정렬합니다.
기본 정렬 순서의 특징은 다음과 같습니다.
대/소문자를 구분하며 대문자는 소문자보다 우선합니다. 예를 들어, 글자 D가 글자 b보다 우선합니다.
오름차순으로 낮은 문자 코드(예: A)가 높은 문자 코드(예: B)보다 우선합니다.
동일한 값은 특정 순서 없이 인접하여 배치합니다.
문자열 기반이므로, 요소를 비교하기 전에 문자열로 변환합니다. 예를 들어, 문자열 "1"이 문자열 "3"보다 낮은 문자 코드를 가지므로, 10이 3보다 먼저 오게 됩니다.
Array를 대/소문자 구분 없이 정렬하거나 내림차순으로 정렬하거나 숫자가 포함된 배열을 알파벳순이 아닌 숫자순으로 정렬해야 할 경우
가 있습니다. Array 클래스의 sort() 메서드에는 기본 정렬 순서의 각 특성을 변경할 수 있는 options 매개 변수가 있습니다.
이 옵션은 다음 목록과 같이 Array 클래스의 정적 상수 세트로 정의됩니다.
Array.CASEINSENSITIVE: 이 옵션은 정렬 시 대/소문자가 무시되도록 합니다. 예를 들어, 소문자 글자 b가 대문자 글자 D보다 우선합니다.
Array.DESCENDING: 이 옵션은 기본 오름차순 정렬을 역으로 설정합니다. 예를 들어, 글자 B가 글자 A보다 우선합니다.
Array.UNIQUESORT: 이 옵션은 동일한 값이 두 개 있을 경우 정렬을 중단하도록 합니다.
Array.NUMERIC: 숫자순으로 정렬하는 옵션이므로 3이 10보다 먼저 오게 됩니다.
다음 예제는 이 옵션 중 일부를 보여 줍니다. poets라는 Array가 만들어져 다양한 여러 옵션을 사용하여 정렬됩니다.
var poets:Array = ["Blake", "cummings", "Angelou", "Dante"]; poets.sort(); // default sort trace(poets); // output: Angelou,Blake,Dante,cummings poets.sort(Array.CASEINSENSITIVE); trace(poets); // output: Angelou,Blake,cummings,Dante poets.sort(Array.DESCENDING); trace(poets); // output: cummings,Dante,Blake,Angelou poets.sort(Array.DESCENDING | Array.CASEINSENSITIVE); // use two options trace(poets); // output: Dante,cummings,Blake,Angelou
배열 정렬에 관련한 모든 메서드를 보려면 여기를 참고
'■ 플래시 ■ > Adobe ActionScript3.0' 카테고리의 다른 글
이름이 없는 오브젝트에 대한 접근 (0) | 2013.11.28 |
---|---|
ByteArray를 사용한 문자열 인코딩 (0) | 2013.11.28 |
컴파일 오류 모음 (0) | 2013.11.20 |
OOP의 캡슐화를 위한 답변 (0) | 2013.11.19 |
플래시 메타데이터 태그 (0) | 2013.11.07 |