먼저 알아둘 기준
단순 코드값 정렬은 사용자가 기대하는 사전식 순서와 다를 수 있습니다. Collator는 언어별 비교 규칙을 적용해 초성·중성·종성 차이를 다루며 대소문자와 숫자 옵션도 함께 지정할 수 있습니다.
‘항목2’와 ‘항목10’을 문자열로만 비교하면 10이 2보다 앞설 수 있습니다. 사람이 읽는 번호 순서를 원하면 숫자 비교 옵션을 켜거나 숫자 열을 따로 추출해야 합니다.
기호, 공백, 한자와 영문이 섞이면 정렬 위치는 브라우저의 국제화 데이터 버전에 따라 달라질 수 있습니다. 중요한 목록은 사용한 로캘과 옵션을 기록해야 재현하기 쉽습니다.
실제 작업에서 보는 사례
‘하늘, 가람, 나래’는 한국어 오름차순에서 ‘가람, 나래, 하늘’이 됩니다.
‘파일2, 파일10, 파일1’은 숫자 인식을 켜면 ‘파일1, 파일2, 파일10’ 순입니다.
‘Apple, 가방, 123’ 같은 혼합 목록은 기호·숫자 우선순위를 결과에서 확인합니다.
단계별로 확인하는 방법
- 1
각 줄의 앞뒤 공백과 불필요한 빈 줄을 정리합니다.
- 2
가나다, 역순, 알파벳, 숫자 또는 길이 중 실제 기준을 선택합니다.
- 3
번호가 포함된 이름에는 숫자 인식 옵션을 적용합니다.
- 4
혼합 문자와 동음 항목의 최종 순서를 미리보기에서 확인합니다.
주의할 점
- 브라우저가 제공하는 ICU·Intl 데이터 버전이 달라 아주 세부적인 순서가 달라질 수 있습니다.
- 무작위 섞기는 추첨의 공정성을 증명하는 기능이 아닙니다.
기술적 제한
- Intl.Collator의 정확한 collation 데이터는 JavaScript 엔진과 배포 환경에 의존합니다.
- 사용자 정의 사전 순서나 전문 용어 우선순위는 기본 로캘 정렬만으로 구현되지 않습니다.