반응형

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]

 

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

이때 반환값이 1인 경우에는 a가 b보다 크다는 의미이므로, 내림차순으로 정렬된다.

반응형