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

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; }