배열의 정렬 (Array.Sort)

GABMIN KIM·2022년 1월 22일
0

JavaScript

목록 보기
5/17
post-thumbnail

Array.prototpye.sort

  • sort메서드는 원본 배열을 직접 변경하며 정렬된 배열을 반환한다.
  • 기본적으로 오름차순으로 요소를 정렬한다.
  • 한국 문자열도 오름차순으로 정렬된다.
  • 내림차순은 reverse()메서드를 사용한다.
const points = [40, 100, 1, 5, 2, 25, 10];

points.sort();

console.log(points); // [1, 10, 100, 2, 25, 40, 5]

위의 예시처럼 숫자 요소들로 이루어진 배열은 의도한 대로 정렬되지 않는다.

sort 메서드의 기본 정렬 순서는 유니코드 코드 포인트의 순서를 따르기 때문이다.
즉, 요소가 숫자 타입이라 할지라도 배열의 요소를 일시적으로 문자열로 변환한 후 유니코드 코드 포인트의 순서를 기준으로 정렬한다.

따라서, 아래와 같은 방법을 통해 숫자를 정렬한다.

const points = [40, 100, 1, 5, 2, 25, 10];

points.sort((a, b) => a - b);
console.log(points); // [1, 2, 5, 10, 25, 40, 100]

points.sort((a, b) => b - a);
console.log(points); // [100, 40, 25, 10, 5, 2, 1]


출처

모던 자바스크립트 Deep Dive - 저자 이웅모

profile
목표를 성취하는 개발자가 되겠습니다.

0개의 댓글