본문 바로가기

Programming/Code Snippets

JS localeCompare 활용한 문자 정렬하기

문자열을 길이 뿐만아니라 길이가 같을 경우 알파벳 순서를 고려하여 정렬합니다.

function bigSorting(unsorted: string[]): string[] {
    return unsorted.sort((a, b) => {
        if (a.length === b.length) {
            return a.localeCompare(b);
        }
        return a.length - b.length;
    });
}

 

먼저, 각 문자열의 길이를 비교합니다. 길이가 짧은 문자열이 더 긴 문자열보다 먼저 오도록 정렬합니다.만약 두 문자열의 길이가 같다면, localeCompare 함수를 사용하여 문자열을 사전 순으로 비교합니다. 이는 문자열이 알파벳 순서대로 정렬되도록 합니다.

 

예를 들어, ["3", "111", "22", "1"] 배열을 bigSorting 함수에 입력하면, ["1", "3", "22", "111"]로 정렬하여 반환합니다. 이러한 정렬 방식은 특히 숫자로 이루어진 문자열이나 길이가 다양한 문자열을 다룰 때 유용합니다.