[JavaScript] 자바스크립트 배열(Array) 요소 알파벳순 정렬하기

2022. 5. 30. 22:06Program/JavaScript

054_자바스크립트 배열(Array) 요소 알파벳순 정렬하기

[적용]

  • 대소문자 구분 없이 알파벳순으로 정렬하고 싶을 떄

[문법]

메소드 의미 반환
문자열1.localeCompare(문자열2) 문자열1과 문자열2 비교  숫자

[내용]

배열 sort()에서 문자열의 순서 비교는 localeCompare()를 사용한다.

문자 코드는 대소문자의 분류가 따로 되어 있기 때문에 유니코드 등으로 사용하면 의도한 대로 정렬할 수 없다.

예를 들어, 문자 코드를 사용한 정렬은 대문자로 시작하는 Orange가 소문자인 apple보다 앞으로 온다.

localeCompare()은 대소문자 구분 없이 정렬할 수 있다. 다음 샘플을 확인해 보자

// 비교 함수 없이 정렬
const arr1 = ['grape', 'Orange', 'apple'];
arr1.sort();
console.log(arr1);  // 결과: ['Orange', 'apple', 'grape]

// 비교 함수에 localeCompare를 사용
const arr2 = ['grape', 'Orange', apple'];
arr2.sort((a, b) => a.localeCompare(b);
console.log(arr2);  / 결과: ['apple', 'grape', 'Orange']

 

 


 

 

 

 

 

참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김