rambdax
Version:
Extended version of Rambda - a lightweight, faster alternative to Ramda
18 lines (13 loc) • 339 B
JavaScript
export function groupBy(groupFn, list){
if (arguments.length === 1) return _list => groupBy(groupFn, _list)
const result = {}
for (let i = 0; i < list.length; i++){
const item = list[ i ]
const key = groupFn(item)
if (!result[ key ]){
result[ key ] = []
}
result[ key ].push(item)
}
return result
}