[javascript] JSON 데이터에서 특정 속성값으로 그룹화하기

JSON(JavaScript Object Notation) 데이터에서 특정 속성값으로 그룹화하는 작업은 많은 경우에 유용합니다. 이를 위해서 JavaScript 내장 함수를 사용하여 JSON 데이터를 처리할 수 있습니다. 아래는 이 작업을 수행하는 방법에 대한 예시입니다.

JSON 데이터 예시

가상의 JSON 데이터를 예시로 사용하겠습니다.

[
  { "id": 1, "name": "Apple" },
  { "id": 2, "name": "Banana" },
  { "id": 3, "name": "Apple" }
]

JavaScript로 그룹화하기

JavaScript의 reduce() 함수를 사용하여 JSON 데이터를 원하는 속성값으로 그룹화할 수 있습니다.

const jsonData = [
  { "id": 1, "name": "Apple" },
  { "id": 2, "name": "Banana" },
  { "id": 3, "name": "Apple" }
];

const groupedData = jsonData.reduce((acc, obj) => {
  const key = obj.name;
  if (!acc[key]) {
    acc[key] = [];
  }
  acc[key].push(obj);
  return acc;
}, {});

console.log(groupedData);

위 코드는 name 속성값으로 JSON 데이터를 그룹화하는 예시입니다. reduce() 함수를 사용하여 빈 객체를 초기값으로 설정하고, 각 요소를 name 속성값을 key로 하는 그룹에 추가합니다.

결과

위 예시 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

{
  "Apple": [
    { "id": 1, "name": "Apple" },
    { "id": 3, "name": "Apple" }
  ],
  "Banana": [
    { "id": 2, "name": "Banana" }
  ]
}

이제 원하는 대로 JSON 데이터를 특정 속성값으로 그룹화할 수 있게 되었습니다.

이상으로 JSON 데이터에서 특정 속성값으로 그룹화하는 방법에 대해 알아보았습니다.

참고 문헌: