score:3

Accepted answer

in one chain, just for fun.

_.chain(data)
  .groupby('status')
  .mapobject(x => x.length)
  .pairs()
  .unzip()
  .zip(['legend', 'data'])
  .map(x => x.reverse())
  .object()
  .value();

score:0

just need one more step:

 var output = {
     legend: [],
     data: []
 }
 _.chain(rawdata).groupby('status').each(function(value,key){
       output.legend.push(key);
       output.legend.push(data.length);
 })

score:0

var legend = _.uniq(_.pluck(data, 'status'));
var groupeddata = _.groupby(data, 'status');

var result = {
    legend: legend,
    data: _.map(legend, function(status) {
        return groupeddata[status].length;
    })
};

Related Query

More Query from same tag