JSFiddle - React, Tailwind, and code Playground
JavaScript
var data = [
{ "category": "toys", "name": "cycle", "itemID": 1594},
{ "category": "furniture", "name": "chair", "itemID": 15954},
{ "category": "furniture", "name": "table", "itemID": 15344},
{ "category": "books", "name": "twoLittle", "itemID": 153594},
{ "category": "electronic", "name": "Tape", "itemID": 134594},
{ "category": "books", "name": "oneLittle", "itemID": 1594436},
{ "category": "electronic", "name": "TV", "itemID": 159446},
{ "category": "toys", "name": "car", "itemID": 1534694}
];
var result={},arr=[], sorted;
// count the totals
for (var i = data.length - 1; i >= 0; i--) {
var item = data[i],
cat = item.category;
result[cat] = result[cat] || {name:item.name, category: cat, count:0};
result[cat].count = result[cat].count = result[cat].count=result[cat].count+1
}
// pass to an array for sort
for (var o in result){arr.push(result[o])};
// sort on desired prop - in this case count
sorted = arr.sort(function(a,b) {return (a.count > b.count) ? 1 : ((b.count > a.count) ? -1 : 0);} );
console.log(sorted)