💻 Dev

🛠️ 처음부터 만드는 GroupBy — 배열을 조건에 따라 그룹화하기

데이터를 처리할 때 특정 기준에 따라 묶어야 할 경우가 자주 있습니다. 오늘은 배열을 원하는 조건으로 그룹화하는 `groupBy` 함수를 만들어봅시다.

기본 구현


```javascript
function groupBy(array, key) {
return array.reduce((result, item) => {
const groupKey = typeof key === 'function' ? key(item) : item[key];
if (!result[groupKey]) {
result[groupKey] = [];
}
result[groupKey].push(item);
return result;
}, {});
}
// 사용 예
const users = [
{ name: 'Alice', role: 'admin' },
{ name: 'Bob', role: 'user' },
{ name: 'Charlie', role: 'admin' },
];
const byRole = groupBy(users, 'role');
// { admin: [Alice, Charlie], user: [Bob] }
```

함수형 콜백으로 더 강력하게


```javascript
const byAge = groupBy(users, user => user.age < 30 ? 'young' : 'senior');
```

실제 활용


  • 통계 집계: 카테고리별 판매액 계산

  • 데이터 정렬: 날짜별, 상태별 항목 분류

  • 폼 검증: 필드별 에러 메시지 수집

  • Reduce를 활용한 이 패턴은 메모리 효율적이면서도 직관적입니다. 로다시나 울더스 같은 라이브러리를 쓰기 전에, 먼저 직접 만들어보세요!
    💬 0
    👁 0 views

    Comments (0)

    💬

    No comments yet.

    Be the first to comment!