[JavaScript] localeCompare 함수

jm4293·2024년 1월 16일
0
  • 프로그래머스 코딩테스트 중 새로운 함수를 보게되어 작성한다

localeCompare()

let number = referenceStr.localeCompare(compareString, locales, options)
  1. referenceStr: 기준문자열
  2. compareString: 비교할 문자열
  3. locales: 어느 나라 기준인지? 로케일참조
  4. options: {numeric: true}, { sensitivity: 'base' }
    • sensitivity가 "base" 이면 대소문자 구분 안한다.
    • sensitivity가 "case" 이면 대소문자 구분한다.
  5. number: referenceStr이 compareString보다 크면 1, 작으면 -1, 같으면 0으로 반환된다.

이것을 sort 함수와 사용하면 사전순서로 정렬이 가능하다

arr.sort((a, b) => a - b)
  1. sort 함수의 리턴값이 0보다 작을경우 a가 b보다 앞으로 오도록 정렬
  2. sort 함수의 리턴값이 0일 경우 순서를 변경안함
  3. sort 함수의 리턴값이 0보다 클경우 b가 a보다 앞으로 오도록 정렬
  4. sort((a, b) => a - b) 이건 오름차순
  5. sort((a, b) => b - a) 이건 내림차순
  • sort 함수의 성질을 이용하면 referenceStr이 compareString보다 크면 1을 리턴하기 때문에 오름차순으로 정렬이 가능해진다.
  console.log(["sun", "bed", "car"].sort((a, b) => a.localeCompare(b))); // [ 'bed', 'car', 'sun' ]

profile
무언가를 만드는 것을 좋아합니다

0개의 댓글

관련 채용 정보