JSFiddle - React, Tailwind, and code Playground

JavaScript

var data = [
    {
        "Month": "Jan",
        "Year": 2015,
        "Count": 15
    },
    {
        "Month": "Feb",
        "Year": 2015,
        "Count": 5
    },
    {
        "Month": "Jan",
        "Year": 2016,
        "Count": 25

    },
        {
        "Month": "Feb",
        "Year": 2016,
        "Count": 50
    }
];
/*
I want to group the data using JavaScript to get the below output. Can someone help me with this?

[
    {
        "Month": "Jan"
        "Count_2015": 15,
        "Count_2016": 25
    },
    {
        "Month": "Feb"
        "Count_2015": 5,
        "Count_2016": 50
    }
]
*/
var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var result = [];
[].forEach.call(months, function(month) {
  var monthObj = {"Month": month};
  result.push(monthObj);
});
let mi, year, keystr
for (var i=0; i< data.length; i++) {
  var obj = data[i];
  for (var key in obj) {
    if (!obj.hasOwnProperty(key)) continue;
    var value = obj[key];
    switch (key) {
      case "Month":
        mi = months.indexOf(value);
        break;
      case "Year":
        year = value;
        break;
      case "Count":
        keystr = "Count_" + year.toString();
        resObj = result[mi];
        resObj[keystr] = value;
        break;
    }
  }
}
console.log(result);