물론, 그룹화 기능을 가진 groupBy
함수의 사용 예시를 다양한 데이터와 함께 보여드리겠습니다. 아래의 예시에서는 간단한 데이터 배열을 사용하여 groupBy
함수를 설명하겠습니다.
예시 1: 동일한 그룹화 키(속성)를 가진 요소들을 그룹화하기
const lodash = require('lodash');
const data = [
{ id: 1, category: 'A', value: 10 },
{ id: 2, category: 'B', value: 20 },
{ id: 3, category: 'A', value: 30 },
{ id: 4, category: 'C', value: 40 },
{ id: 5, category: 'B', value: 50 },
];
const groupedData = lodash.groupBy(data, 'category');
console.log(groupedData);
위의 코드에서 groupBy
함수는 category
속성을 기준으로 데이터를 그룹화합니다. 결과는 다음과 같이 나타납니다:
{
A: [
{ id: 1, category: 'A', value: 10 },
{ id: 3, category: 'A', value: 30 }
],
B: [
{ id: 2, category: 'B', value: 20 },
{ id: 5, category: 'B', value: 50 }
],
C: [
{ id: 4, category: 'C', value: 40 }
]
}
예시 2: 사용자를 나이대로 그룹화하기
const lodash = require('lodash');
const users = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 25 },
{ id: 4, name: 'David', age: 35 },
];
const groupedUsers = lodash.groupBy(users, (user) => {
if (user.age <= 25) {
return 'Under 25';
} else if (user.age <= 30) {
return '26-30';
} else {
return '31 and above';
}
});
console.log(groupedUsers);
위의 코드에서 groupBy
함수는 사용자를 나이대에 따라 그룹화합니다. 결과는 다음과 같이 나타납니다:
{
'Under 25': [
{ id: 1, name: 'Alice', age: 25 },
{ id: 3, name: 'Charlie', age: 25 }
],
'26-30': [
{ id: 2, name: 'Bob', age: 30 }
],
'31 and above': [
{ id: 4, name: 'David', age: 35 }
]
}
이러한 예시를 통해 groupBy
함수가 어떻게 데이터를 그룹화하고 원하는 기준에 따라 데이터를 정리하는 데에 유용하게 사용될 수 있는지 이해할 수 있을 것입니다. 함수의 콜백 함수를 통해 그룹화 기준을 유동적으로 정의할 수 있으므로 다양한 데이터 정리 작업에 활용할 수 있습니다.