function groupBy() { const key = 'make'; return cars.reduce((acc, x) => ({ ...acc, [x[key]]: (!acc[x[key]]) ? [{ model: x.model, year: x.year }] : [...acc[x[key]], { model: x.model, year: x.year }] }), {}) }