Lodash Group By
http://stackoverflow.com/questions/24627026/lo-dash-array-grouping
by M. Mahbubur Rahman
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.13.1/lodash.min.js"></script>
<!--
http://stackoverflow.com/questions/24627026/lo-dash-array-grouping
-->
JavaScript
var characters = [
{ 'name': 'barney', 'age': 42, 'pet': 'dog' },
{ 'name': 'fred', 'age': 35, 'pet': 'dog' },
{ 'name': 'barney', 'age': 42, 'pet': 'cat' },
{ 'name': 'fred', 'age': 35, 'pet': 'goldfish' }
];
var result=_.chain(characters).groupBy("name").map(function(v, i) {
return {
name: i,
age: _.get(_.find(v, 'age'), 'age'),
pet: _.map(v, 'pet')
}
}).value();
document.body.innerHTML = '<pre>' + JSON.stringify(result, null, ' ') + '</pre>';