Using Lodash to sum values by key
This is a case of reduction for each unique element.
I always use _.groupBy
and then _.map
the result to an array after applying the reduction. In this case the reduction operation is _.sumBy
.
var prjMgrValues = [
{"proj_mgr":"Jack ProjManager","submitted_dollars":12000},
{"proj_mgr":"Jack ProjManager","submitted_dollars":750000},
{"proj_mgr":"Joe ProjManager","submitted_dollars":45000}
];
var output =
_(prjMgrValues)
.groupBy('proj_mgr')
.map((objs, key) => ({
'proj_mgr': key,
'submitted_dollars': _.sumBy(objs, 'submitted_dollars') }))
.value();
console.log(output);
<script src="https://cdn.jsdelivr.net/lodash/4.14.1/lodash.min.js"></script>