[Javascript] 숫자 배열 정렬 (오름차순, 내림차순)
April 13, 2024
sort()
를 사용하여 숫자 배열을 오름차순, 내림차순으로 정렬하는 방법에 대해서 알아보겠습니다.
sort()는 기본적으로 문자열로 변환하여 비교하기 때문에, 숫자 배열의 경우 의도한 것과 다르게 동작할 수 있습니다.
1. 오름차순 정렬
sort()는 배열의 요소들을 문자열로 변환하며, 오름차순으로 정렬합니다. 따라서 숫자 배열을 정렬할 때는 sort()
를 사용하면 안되고, 인자로 정렬 규칙을 함수로 전달해야 합니다.
아래 예제와 같이 sort()에 숫자를 오름차순으로 비교하는 함수를 구현하여 전달하였습니다.
let numbers = [5, 2, 9, 1, 5];
// 오름차순으로 정렬
numbers.sort(function (a, b) {
return a - b;
});
console.log(numbers);
Output:
[ 1, 2, 5, 5, 9 ]
위 코드는 화살표 함수를 사용하여, 다음과 같이 간단히 구현할 수 있습니다.
let numbers = [5, 2, 9, 1, 5];
// 오름차순으로 정렬
numbers.sort((a, b) => a - b);
console.log(numbers);
2. 내림차순 정렬
오름차순과 비슷한 방식으로, 내림차순에 대한 정렬 규칙 함수를 구현하여 sort()
에 전달해야 합니다.
아래 예제에서는 오름차순과 반대로 비교하도록 구현하여 내림차순 정렬하였습니다.
let numbers = [5, 2, 9, 1, 5];
// 내림차순으로 정렬
numbers.sort(function (a, b) {
return b - a;
});
console.log(numbers);
Output:
[9, 5, 5, 2, 1]
위의 예제는 화살표 함수를 사용하여 아래와 같이 간단히 구현할 수 있습니다.
let numbers = [5, 2, 9, 1, 5];
// 내림차순으로 정렬
numbers.sort((a, b) => b - a);
console.log(numbers);