Javascript - reduce()
by Frank Liu
JavaScript
const users = [
{ name: "Alan", initYear: 2010, endYear: 2013, group: "user" },
{ name: "Noe", initYear: 2011, endYear: 2012, group: "user" },
{ name: "Mathias", initYear: 2000, endYear: 2006, group: "admin" },
]
const groupBy = (input, key) => input.reduce((acc, currentValue) => {
const groupKey = currentValue[key]
if (!acc[groupKey]) {
acc[groupKey] = []
}
acc[groupKey].push(currentValue)
return acc
}, {});
const groupedUsers = groupBy(users, 'group');
console.log(groupedUsers)