자바스크립트 배열 정렬 메서드(Array.prototype.sort)

  • sort는 배열의 요소를 정렬합니다.

  • 원본 배열을 직접 변경(mutable)하며, 정렬된 배열을 반환합니다.

const alphabet = ['A', 'C', 'B'];

alphabet.sort();
console.log(alphabet); //  ["A", "B", "C"];

const 한글 = ['가', '다', '나'];

한글.sort(); 
console.log(한글);  //  ["가", "나", "다"]
  • 기본 정렬은 오름 차순 입니다. 내림차순 정렬을 위해 reverse 메서드를 함께 사용합니다.

alphabet.sort().reverse();
// ["C", "B", "A"]
  • 기본 정렬은 유니코드 코드 포인트 입니다.

    • 배열의 요소가 숫자 타입일 경우, 매개변수로 별도의 함수를 명시하지 않으면 문자열로 변환한 후 정렬합니다.

const numbers = [100, 2, 30, 400, 0.5]

numbers.sort() // [0.5, 100, 2, 30, 400]  // 💣
  • 숫자 타입을 정렬할 떄는 (정렬 순서 나타내는) 비교 함수를 매개변수로 전달해야 합니다.

    • 비교함수(a, b)가 양수를 반환하면, b를 우선 정렬(오름차순)

    • 비교함수(a, b)가 0를 반환하면, 정렬 X

    • 비교함수(a, b)가 음수를 반환하면, a를 우선 정렬(내림차순)

  • 객체 배열을 정렬할 때는 프로퍼티의 키를 매개변수로 하는 비교 함수의 비교 연산을 사용합니다.

Last updated