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);