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)