JS Built-ins
TypeScriptintermediate

Generics β€” groupBy<T>

πŸ“– Usage Example
groupBy(['a', 'bb', 'ccc', 'dd'], s => s.length)
// β†’ { 1: ['a'], 2: ['bb', 'dd'], 3: ['ccc'] }

groupBy<T> clusters array elements by a derived key, building a Record of arrays.

Generics: groupBy<T>

Challenge: Implement groupBy<T extends object>(arr: T[], key: keyof T): Record<string, T[]>.

groupBy([{type:'a',v:1},{type:'b',v:2},{type:'a',v:3}], 'type')
// β†’ { a: [{type:'a',v:1},{type:'a',v:3}], b: [{type:'b',v:2}] }
πŸ’‘ Hints (1)
  • β€’ Convert the key value to string for the Record key.