자바스크립트배열 내부 요소 정렬하기

배열은 자바스크립트에서 가장 일반적으로 사용되는 데이터 구조 중 하나입니다. 배열의 내부 요소를 정렬하는 것은 종종 필요한 작업 중 하나입니다. 이를 위해 자바스크립트에는 다양한 정렬 알고리즘과 내장된 정렬 함수가 있습니다.

1. 배열을 오름차순으로 정렬하기

배열을 오름차순으로 정렬하기 위해서는 Array.prototype.sort() 메소드를 사용할 수 있습니다. 이 메소드는 기본적으로 문자열을 기준으로 정렬하지만 숫자를 정렬할 때도 사용할 수 있습니다.

let numbers = [5, 2, 9, 1, 7];

numbers.sort();

console.log(numbers); // [1, 2, 5, 7, 9]

위의 예제에서 numbers 배열을 오름차순으로 정렬하였습니다. sort() 메소드는 배열의 요소를 문자열로 변환한 후 Unicode 코드 포인트 값에 따라 정렬합니다.

2. 배열을 내림차순으로 정렬하기

Array.prototype.sort() 메소드를 사용하여 배열을 내림차순으로 정렬하기 위해서는 정렬 함수를 매개변수로 전달해야 합니다. 이 정렬 함수에서 요소 간 비교를 위해 - 연산자를 사용하여 순서를 반대로 정의할 수 있습니다.

let numbers = [5, 2, 9, 1, 7];

numbers.sort((a, b) => b - a);

console.log(numbers); // [9, 7, 5, 2, 1]

위의 예제에서 numbers 배열을 내림차순으로 정렬하였습니다. sort() 메소드의 정렬 함수에서 b - a를 사용하여 순서를 반대로 정의하였습니다.

3. 복잡한 정렬 기준으로 배열 정렬하기

배열을 복잡한 정렬 기준에 따라 정렬해야 할 경우에는 Array.prototype.sort() 메소드의 정렬 함수를 사용할 수 있습니다. 이 정렬 함수에서는 일반적으로 비교 연산자나 조건문을 사용하여 정렬 기준을 정의합니다.

예를 들어, 다음과 같이 객체를 요소로 갖는 배열을 특정 속성의 값을 기준으로 정렬할 수 있습니다.

let employees = [
  { name: 'Alice', age: 32 },
  { name: 'Bob', age: 24 },
  { name: 'Charlie', age: 41 },
];

employees.sort((a, b) => a.age - b.age);

console.log(employees);
// [
//   { name: 'Bob', age: 24 },
//   { name: 'Alice', age: 32 },
//   { name: 'Charlie', age: 41 }
// ]

위의 예제에서 employees 배열을 age 속성을 기준으로 오름차순으로 정렬하였습니다. sort() 메소드의 정렬 함수에서 a.age - b.age를 사용하여 순서를 정의하였습니다.

결론

자바스크립트에서 배열을 정렬하는 것은 매우 일반적인 작업입니다. Array.prototype.sort() 메소드를 사용하여 간단한 오름차순 또는 내림차순 정렬은 쉽게 할 수 있습니다. 또한 정렬 함수를 사용하여 복잡한 정렬 기준에 따라 배열을 정렬할 수도 있습니다. 배열을 정렬하는 방법을 잘 이해하고 적절하게 활용하면 자바스크립트에서 다양한 작업을 효율적으로 수행할 수 있습니다.


참고 자료: