javascript group by property array of objects
function groupArrayOfObjects(list, key) { return list.reduce(function(rv, x) { (rv[x[key]] = rv[x[key]] || []).push(x); return rv; }, {}); }; var people = [ {sex:"Male", name:"Jeff"}, {sex:"Female", name:"Megan"}, {sex:"Male", name:"Taylor"}, {sex:"Female", name:"Madison"} ]; var groupedPeople=groupArrayOfObjects(people,"sex"); console.log(groupedPeople.Male);//will be the Males console.log(groupedPeople.Female);//will be the Females