본문 바로가기
Javascript

javascript 배열 정렬 방법 (오름차순, 내림차순)

by @hohoya33 2021년 04월 18일

javascript에서 배열을 정렬하기 위해서는 sort() 함수를 사용합니다. 그러나 숫자는 생각대로 정렬되지 않습니다. 자바스크립트에서 배열을 정렬 할 때 기본적으로 요소를 문자열로 변환합니다. 그런 다음 UTF-16 코드 포인트를 비교하여 요소를 정렬합니다. 숫자의 경우 예기치 않은 순서가 발생할 수 있습니다.

 

따라서 기본 동작을 변경하고 Array.sort메서드에 함수를 전달합니다. 항상 한 번에 두 요소를 비교하여 작동합니다. 결과가 0보다 작으면 a먼저 표시됩니다. 결과가 0보다 크면 b먼저 표시됩니다.

 

원본 배열인 numbers가 정렬이 되고, 리턴하는 값 또한 원본 배열인 numbers을 가리키고 있음에 유의하세요.

const numbers = [15, 52, 23, 11, 9];

// 오름차순 정렬, 원본 배열 수정
numbers.sort((a, b) => a - b);
console.log(numbers); // [9, 11, 15, 23, 52]

// 내림차순 정렬, 원본 배열이 다시 수정
numbers.sort((a, b) => b - a);
console.log(numbers); // [52, 23, 15, 11, 9]

개의 댓글