How to group an array of objects by key How to group an array of objects by key arrays arrays

How to group an array of objects by key


In plain Javascript, you could use Array#reduce with an object

var cars = [{ make: 'audi', model: 'r8', year: '2012' }, { make: 'audi', model: 'rs5', year: '2013' }, { make: 'ford', model: 'mustang', year: '2012' }, { make: 'ford', model: 'fusion', year: '2015' }, { make: 'kia', model: 'optima', year: '2012' }],    result = cars.reduce(function (r, a) {        r[a.make] = r[a.make] || [];        r[a.make].push(a);        return r;    }, Object.create(null));console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }