Skip to main content

groupBy

배열을 주어진 기준에 따라 그룹화합니다.

iteratee 함수를 전달하여 반환된 키를 기준으로 항목들을 그룹화합니다. 각 키는 그룹화된 항목 배열을 포함하는 객체의 속성으로 할당됩니다.

Code

🔗 실제 구현 코드 확인

Benchmark

  • hz: 초당 작업 수
  • mean: 평균 응답 시간(ms)
이름hzmean성능
modern-kit/groupBy6,982,132.030.0001fastest
lodash/groupBy4,223,901.690.0002slowest
  • modern-kit/groupBy
    • 1.65x faster than lodash/groupBy

Interface

typescript
function groupBy<T, K extends PropertyKey>(
arr: T[] | readonly T[],
iteratee: (item: T) => K
): Record<K, T[]>;

Usage

typescript
import { groupBy } from '@modern-kit/utils';

const items = [
{ category: 'fruit', name: 'apple' },
{ category: 'fruit', name: 'banana' },
{ category: 'vegetable', name: 'carrot' },
{ category: 'fruit', name: 'pear' },
{ category: 'vegetable', name: 'broccoli' },
];
const group = groupBy(items, (item) => item.category);
// {
// fruit: [
// { category: 'fruit', name: 'apple' },
// { category: 'fruit', name: 'banana' },
// { category: 'fruit', name: 'pear' },
// ],
// vegetable: [
// { category: 'vegetable', name: 'carrot' },
// { category: 'vegetable', name: 'broccoli' },
// ],
// };