Say I have an array like this:
var arr = [
{type:\"orange\", title:\"First\"},
{type:\"orange\", title:\"Second\"},
{type:\"banana\", title:\"Thi
ES6 solution:
function groupBy(arr, property) {
return arr.reduce((acc, cur) => {
acc[cur[property]] = [...acc[cur[property]] || [], cur];
return acc;
}, {});
}
or completely ES6fy:
const groupBy = (arr, property) => {
return arr.reduce((acc, cur) => {
acc[cur[property]] = [...acc[cur[property]] || [], cur];
return acc;
}, {});
}
I hope it helps!