localeCompare는 JavaScript에서 문자열을 비교하는 메소드입니다.
이 메소드는 현재 로케일(지역 설정)의 언어 규칙에 맞게 두 문자열을 비교할 수 있게 해줍니다.
문자열.localeCompare(비교할문자열)
주요 특징
- 로케일 인식 비교: 현재 로케일의 정렬 규칙에 따라 문자열을 비교합니다. 이는 다양한 언어에서 올바른 알파벳 순서로 정렬할 때 중요합니다.
- 반환 값:
- 기준 문자열이 비교 문자열보다 앞에 오면 음수를 반환합니다.
- 두 문자열이 동등하면 0을 반환합니다.
- 기준 문자열이 비교 문자열보다 뒤에 오면 양수를 반환합니다.
- 옵션: 비교를 사용자 정의하기 위한 추가 매개변수를 전달할 수 있습니다:
문자열.localeCompare(비교할문자열, 로케일, 옵션)
참고 소스
// 이용일자, 분류, 사용금액, 가맹점 순으로 정렬
cardTransactions.value = transactions.sort((a: CardTransaction, b: CardTransaction) => {
// 1. 이용일자 (내림차순)
const dateComparison = b.date.localeCompare(a.date);
if (dateComparison !== 0) return dateComparison;
// 2. 분류
const categoryComparison = a.category.localeCompare(b.category);
if (categoryComparison !== 0) return categoryComparison;
// 3. 사용금액 (내림차순)
const amountComparison = b.amount - a.amount;
if (amountComparison !== 0) return amountComparison;
// 4. 가맹점
return a.merchant.localeCompare(b.merchant);
});
이렇게 하면 사용자의 로케일 설정에 따라 가맹점 이름을 알파벳 순으로 정렬하며, 특수 문자나 언어별 정렬 규칙을 올바르게 처리합니다.
특히 한글과 같은 비 라틴 문자를 정렬할 때 매우 유용합니다.
-- Claude 3.7 sonnet 이 설명해줌
'Script' 카테고리의 다른 글
배열을 활용하는 ES6 기술 (0) | 2025.03.13 |
---|---|
script 에서 import 시 { } 로 싸는 경우와 아닌 경우에 대해서 (0) | 2025.02.26 |
객체 분해 할당(Destructuring assignment) (0) | 2025.02.26 |