자바스크립트 배열 정렬 메서드(Array.prototype.sort)
sort는 배열의 요소를 정렬합니다.원본 배열을 직접 변경(mutable)하며, 정렬된 배열을 반환합니다.
ES10 이전에는 quicksort 알고리즘을 사용했지만, 이후에는 timsort 알고리즘으로 변경되었습니다.
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