[Javascript] 숫자 정렬


JavaScript에서 배열의 숫자 요소를 정렬하는 방법

1. Array.sort() 메서드 사용

JavaScript에서 배열을 정렬하는 가장 쉬운 방법은 Array.sort() 메서드를 사용하는 것입니다.
sort() 메서드는 주어진 배열의 요소를 정렬합니다. 기본적으로 문자열로 취급되므로 숫자 항목을 정렬할 때 정렬 함수를 인수로 전달해야 합니다.

예를 들어 다음 배열을 숫자 크기를 기준으로 오름차순으로 정렬하려면 다음과 같이 작성할 수 있습니다.

const numbers = (3, 7, 2, 9, 1);
numbers.sort((a, b) => a - b);
console.log(numbers); // (1, 2, 3, 7, 9)

2. Math 개체의 메서드 사용

Math 개체는 숫자 작업을 위한 여러 메서드를 제공합니다.

이러한 메서드 중에서 Math.max() 및 Math.min()은 배열의 숫자 요소를 정렬하는 데 유용합니다.

예를 들어 Math.max() 메서드를 사용하여 다음과 같이 배열에서 가장 큰 숫자를 찾을 수 있습니다.

const numbers = (3, 7, 2, 9, 1);
const max = Math.max(...numbers);
console.log(max); // 9

이를 통해 Math.max() 및 Math.min()을 사용하여 배열의 요소를 오름차순 또는 내림차순으로 정렬할 수 있습니다.

const numbers = (3, 7, 2, 9, 1);
numbers.sort((a, b) => Math.min(a, b) === a ? -1 : 1);
console.log(numbers); // (1, 2, 3, 7, 9)

// 또는

numbers.sort((a, b) => Math.max(a, b) === a ? -1 : 1);
console.log(numbers); // (9, 7, 3, 2, 1)

위의 코드는 sort 함수 내에서 Math.min() 또는 Math.max()를 사용하여 요소를 비교하고 결과에 따라 -1 또는 1을 반환합니다. 반환 값이 -1이면 a가 b보다 작다는 의미이므로 오름차순으로 정렬합니다.

이때 반환값이 1이면 a가 b보다 크다는 의미이므로 내림차순으로 정렬한다.