groupBy
Use reduce to sort array of objects
by maiastone
JavaScript
let students = [
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "3FE", track: "frontEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" },
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "2BE", track: "backEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" }
];
function groupBy(key) {
return students.reduce(function(a, i) {
if(!a[i[key]]) {
a[i[key]] = []
}
a[i[key]].push(i)
return a
}, {})
}
groupBy('track')