UNPKG

wundertec-core

Version:

Librería estándar de utilidades e integraciones AWS + helpers generales

18 lines (17 loc) 572 B
/** * Agrupa un array de elementos según una función de agrupamiento. * @param array Array de elementos. * @param fn Función que recibe un elemento y devuelve la clave de grupo. * @returns Objeto cuyas propiedades son claves de grupo y valores arrays de elementos. */ export function groupBy<T, K extends string | number>( array: T[], fn: (item: T) => K ): Record<K, T[]> { return array.reduce<Record<K, T[]>>((acc, item) => { const key = fn(item); if (!acc[key]) acc[key] = []; acc[key].push(item); return acc; }, {} as Record<K, T[]>); }