[JS] sort

Yoon·2021년 7월 25일
0

Javascript

목록 보기
7/8
arr.sort([compareFunction])

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

  • sort 내 함수의 return값으로 정렬방식 설정 가능하다.

  • compareFunction Optional
    정렬 순서를 정의하는 함수.
    생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬된다.

compareFunction이 제공되면 배열 요소는 compare 함수의 반환 값에 따라 정렬된다.
a와 b가 비교되는 두 요소라면,

  • compareFunction(a, b)이 0보다 작은 경우 a를 b보다 낮은 색인으로 정렬합니다. 즉, a가 먼저옵니다.
  • compareFunction(a, b)이 0을 반환하면 a와 b를 서로에 대해 변경하지 않고 모든 다른 요소에 대해 정렬합니다. 참고 : ECMAscript 표준은 이러한 동작을 보장하지 않으므로 모든 브라우저(예 : Mozilla 버전은 적어도 2003 년 이후 버전 임)가 이를 존중하지는 않습니다.
  • compareFunction(a, b)이 0보다 큰 경우, b를 a보다 낮은 인덱스로 소트합니다.
  • compareFunction(a, b)은 요소 a와 b의 특정 쌍이 두 개의 인수로 주어질 때 항상 동일한 값을 반환해야합니다. 일치하지 않는 결과가 반환되면 정렬 순서는 정의되지 않습니다.
function compare(a, b) {
  if (a is less than b by some ordering criterion) {
    return -1;
  }
  if (a is greater than b by the ordering criterion) {
    return 1;
  }
  // a must be equal to b
  return 0;
}
  • 숫자를 비교할때는 a-b 또는 b-a를 이용할 수 있다.
arr.sort((a,b)=>a-b));//숫자 오름차순 정렬
arr.sort((a,b)=>b-a));//숫자 내림차순 정렬

MDN : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

profile
FE Developer✨

0개의 댓글