How can I sum the values in objects which share a common key? I need to use Lodash for this because I need good performance if these arrays get huge.
var prjMgrValues = [    {"proj_mgr":"Jack ProjManager","submitted_dollars":12000},    {"proj_mgr":"Jack ProjManager","submitted_dollars":750000},    {"proj_mgr":"Joe ProjManager","submitted_dollars":45000} ]   I'm looking for an output of
[   {"proj_mgr":"Jack ProjManager","submitted_dollars":762000},   {"proj_mgr":"Joe ProjManager","submitted_dollars":45000} ] 
                sumBy() method is used to compute the sum from the original array by iterating over each element in the array by using the Iteratee function. It is almost the same as _. sum() method.
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>  If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With