[javascript] 객체의 속성 값을 기준으로 그룹화하기

자바스크립트에서는 객체의 속성 값을 기준으로 그룹화하는 작업을 수행할 수 있습니다. 이를 통해 데이터를 보다 쉽게 분류하고 처리할 수 있습니다.

아래는 객체의 속성 값을 기준으로 그룹화하는 간단한 예제 코드입니다.

// 원본 데이터 배열
const data = [
  { name: 'A', group: 'Group1' },
  { name: 'B', group: 'Group2' },
  { name: 'C', group: 'Group1' },
  { name: 'D', group: 'Group2' },
];

// 그룹화할 기준이 되는 속성 이름
const groupBy = 'group';

// 그룹화된 결과를 담을 객체
const groupedData = {};

// 원본 데이터 배열을 순회하며 그룹화 처리
data.forEach(item => {
  const key = item[groupBy];
  
  if (!groupedData[key]) {
    groupedData[key] = [];
  }
  
  groupedData[key].push(item);
});

console.log(groupedData);

위 코드에서는 data라는 배열을 순회하면서 각 객체의 group 속성 값을 기준으로 그룹화합니다. groupBy 변수에는 그룹화할 속성 이름을 지정하고, groupedData 객체에는 그룹화된 결과를 담습니다.

코드를 실행하면 아래와 같은 결과가 출력됩니다.

{
  Group1: [
    { name: 'A', group: 'Group1' },
    { name: 'C', group: 'Group1' }
  ],
  Group2: [
    { name: 'B', group: 'Group2' },
    { name: 'D', group: 'Group2' }
  ]
}

위 예제에서는 group 속성 값을 기준으로 ‘Group1’과 ‘Group2’ 두 개의 그룹으로 분류되었습니다.

이와 같이 자바스크립트에서 객체의 속성 값을 기준으로 그룹화하는 작업을 수행할 수 있습니다.

참고 자료