[javascript] 객체의 속성 값을 기준으로 객체 그룹화하기
JavaScript에서는 객체의 속성 값을 기준으로 객체를 그룹화하는 방법을 쉽게 구현할 수 있습니다. 이를 통해 동일한 값을 가지는 객체들을 묶어서 처리하는 작업을 수행할 수 있습니다.
예시 코드
아래는 속성 값을 기준으로 객체를 그룹화하는 예시 코드입니다.
const students = [
{ name: 'John', grade: 'A' },
{ name: 'Alice', grade: 'B' },
{ name: 'Bob', grade: 'A' },
{ name: 'Eve', grade: 'C' },
{ name: 'Mike', grade: 'B' }
];
// 속성 값을 기준으로 객체 그룹화하기
const groupedStudents = students.reduce((groups, student) => {
if (!groups[student.grade]) {
groups[student.grade] = [];
}
groups[student.grade].push(student);
return groups;
}, {});
console.log(groupedStudents);
위의 코드에서는 students
라는 배열에 각 학생들의 이름과 학점 정보가 담긴 객체들이 저장되어 있습니다.
reduce
메소드를 사용하여 students
배열을 순회하면서, 학점 정보를 그룹의 키로 하여 객체를 그룹화하고 있습니다. 각 학점 그룹에 속한 학생들은 해당 그룹의 배열에 추가됩니다.
그룹화된 결과는 groupedStudents
에 저장되며, console.log(groupedStudents)
를 통해 결과를 출력합니다. 아래와 같은 결과가 출력됩니다.
{
A: [
{ name: 'John', grade: 'A' },
{ name: 'Bob', grade: 'A' }
],
B: [
{ name: 'Alice', grade: 'B' },
{ name: 'Mike', grade: 'B' }
],
C: [
{ name: 'Eve', grade: 'C' }
]
}
이처럼, 속성 값을 기준으로 객체를 그룹화하는 방법을 사용하면 필요한 작업을 간단하게 처리할 수 있습니다.
참고 자료
-
[JavaScript 기본 가이드 MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide)