localeCompare()

조아영·2024년 7월 11일

📌

referenceStr.localeCompare(compareString[, locales, options])
문자열이 정렬 순으로 지정된 문자열 앞 혹은 뒤에 오는지 또는 동일한 문자열인지 나타내는 수치를 반환합니다. 사전적인 순서로 정렬할 필요가 있다면 localeCompare를 사용하는 것이 좋습니다.

◼ 매개변수

referenceStr : 기준 문자열
compareString : 비교될 문자열
locales : 언어 설정
options : 추가적인 옵션

◼ 특징

  • compareString 전에 referenceStr이 오면 음수(-1)
  • compareString 뒤에 referenceStr이 오면 양수(1)
  • compareString 와 referenceStr이 동등한 경우 0
  • 브라우저에 따라서는, -2나 2를 반환하거나, 그 외의 음수나 양수를 반환할 수도 있습니다.
  • 대소문자를 구분하지 않는 정렬을 할 수 있습니다.

◼ 예제

// "a"는 "c" 전에 위치하므로 음수 값을 반환
"a".localeCompare("c"); // -2 혹은 -1 (또는 다른 음수 값)

// 알파벳 순으로 단어 "check"는 "against"보다 뒤에 위치하므로 양수 값을 반환
"check".localeCompare("against"); // 2 혹은 1 (또는 다른 양수 값)

// "a"와 "a"는 서로 동등하므로 중립 값 0을 반환
"a".localeCompare("a"); // 0

// 배열 정렬
let items = ["réservé", "Premier", "Cliché", "communiqué", "café", "Adieu"];
items.sort((a, b) => a.localeCompare(b, "fr", { ignorePunctuation: true }));
// ['Adieu', 'café', 'Cliché', 'communiqué', 'Premier', 'réservé']

0개의 댓글