[javascript] 필터링 조건에 따라 데이터를 그룹화하는 방법

데이터를 필터링하고 그룹화하는 것은 많은 애플리케이션에서 중요한 작업입니다. JavaScript에서는 데이터를 필터링하고 그룹화하는 다양한 방법이 있습니다.

이 블로그에서는 JavaScript에서 데이터를 조건에 따라 필터링하고 그룹화하는 방법에 대해 알아보겠습니다.

데이터 필터링

먼저, 데이터를 필터링하여 특정 조건에 맞는 데이터를 추출하는 방법에 대해 알아보겠습니다. 다음은 JavaScript에서 배열을 필터링하는 간단한 예제입니다.

const data = [
  { id: 1, name: 'Alice', category: 'A' },
  { id: 2, name: 'Bob', category: 'B' },
  { id: 3, name: 'Charlie', category: 'A' },
  { id: 4, name: 'David', category: 'C' },
];

const filteredData = data.filter(item => item.category === 'A');

console.log(filteredData);

위의 예제에서는 category가 ‘A’인 데이터를 필터링하여 filteredData에 저장하고 있습니다.

데이터 그룹화

다음으로, 데이터를 그룹화하는 방법에 대해 알아보겠습니다. JavaScript에서 reduce 메서드를 사용하여 데이터를 그룹화할 수 있습니다.

const data = [
  { id: 1, name: 'Alice', category: 'A' },
  { id: 2, name: 'Bob', category: 'B' },
  { id: 3, name: 'Charlie', category: 'A' },
  { id: 4, name: 'David', category: 'C' },
];

const groupedData = data.reduce((result, item) => {
  (result[item.category] = result[item.category] || []).push(item);
  return result;
}, {});

console.log(groupedData);

위의 예제에서는 category를 기준으로 데이터를 그룹화하여 groupedData에 저장하고 있습니다.

결론

JavaScript를 사용하여 데이터를 필터링하고 그룹화하는 것은 매우 유용합니다. 필터링은 filter 메서드를 사용하여 간단히 수행할 수 있으며, 그룹화는 reduce 메서드를 사용하여 수행할 수 있습니다. 이러한 기능들을 효과적으로 활용하여 데이터를 다루는데 활용하면 애플리케이션의 성능과 유지보수성을 향상시킬 수 있습니다.

참고 문헌: