sort(), localeCompare()

kangdari·2020년 5월 7일
0

sort

mdn

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다.
기본 정렬 순서는 문자열의 유니코드 포인트를 따릅니다.

arr.sort([compareFunction])

compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니코드 포인트 순서로 문자열을 비교하여 정령함.

compareFunction이 제공되면 배열 요소는 compare 함수의 반환 값에 따라 정렬됨.

  • compareFunction이 (a, b) < 0 인 경우 a , b 순으로 정렬

  • compareFunction이 (a, b) > 0 인 경우 b , a 순으로 정렬

  • compareFunction이 0을 반환하면 a, b를 변경x

function compare(a,b) {
	if(a < b) return -1; // a b 순 정렬 
    if(a > b) return 1; // b a 순 정렬
    if(a == b) return 0; // 그대로 ... 
}
  • 오름차순 정렬
function compareNumbers(a, b) {
  return a - b;
}
  • 내림차순 정렬
function compareNumbers(a, b) {
  return b - a ;
}

localeCompare()

MDN

localeCompare 메서드는 참조 문자열이 정렬 순서에서 앞 또는 뒤에 오는지 또는 주어진 문자열과 같은지를 숫자로 반환

referenceStr.localeCompare(compareString[, locales[, options]])

referenceStr이 compareString보다 앞에 있으면 -1, 뒤에 있으면 1, 같으면 0 반환

'a'.localeCompare('b') // -1 , 
'b'.localeCompare('a') // 1
'c'.localeCompare('c') // 0

0개의 댓글