[javascript] 필터링한 데이터를 특정 조건에 따라 정렬하는 방법

데이터를 필터링하여 특정 조건을 충족하는 항목들을 찾고, 이를 원하는 기준에 따라 정렬하는 것은 많은 웹 애플리케이션에서 매우 유용합니다. 자바스크립트에서는 이를 손쉽게 할 수 있는 다양한 내장 함수와 메서드를 제공합니다.

데이터 필터링

데이터를 필터링하기 위해서는 Array.prototype.filter() 메서드를 사용합니다. 이 메서드는 주어진 함수의 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다.

예를 들어, 숫자 배열에서 짝수만을 필터링하기 위한 코드는 다음과 같습니다:

const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers는 [2, 4, 6]을 포함합니다.

데이터 정렬

데이터를 정렬하기 위해서는 Array.prototype.sort() 메서드를 사용합니다. 이 메서드는 배열의 요소를 적절히 정렬한 후, 정렬된 배열을 반환합니다. 정렬 기준을 지정하기 위해 비교 함수를 제공할 수 있습니다.

예를 들어, 숫자 배열을 오름차순으로 정렬하기 위한 코드는 다음과 같습니다:

const numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
numbers.sort((a, b) => a - b);
// numbers는 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]로 정렬됩니다.

필터링 후 정렬

필터링된 데이터를 정렬하기 위해서는 두 메서드를 연쇄하여 사용할 수 있습니다.

const data = [10, 5, 8, 20, 3, 16, 25];
const filteredAndSortedData = data.filter(num => num > 5).sort((a, b) => a - b);
// filteredAndSortedData는 [8, 10, 16, 20, 25]를 포함합니다.

위의 예제에서는 먼저 filter() 메서드로 5보다 큰 숫자를 필터링한 후, sort() 메서드를 사용하여 이 숫자들을 오름차순으로 정렬했습니다.

이처럼 자바스크립트에서는 데이터 필터링 후 정렬하는 것이 간단하며 강력한 기능이므로, 다양한 상황에서 유용하게 활용할 수 있습니다.

참조: MDN Web Docs - Array.prototype.filter(), MDN Web Docs - Array.prototype.sort()