JSFiddle - React, Tailwind, and code Playground
HTML
<div class="test"></div>
<div class="netest"></div>
<div class="test"></div>
<div class="netest"></div>
<div class="test"></div>
<div class="netest"></div>
<div class="test"></div>
<div class="peretest"></div>
<pre id="result"></pre>
JavaScript
//document.getElementsByClassName('someClass').length
var elems = document.getElementsByTagName('div');
var arr = [];
for (var i = 0; i < elems.length; i++) {
arr.push(elems[i].classList);
}
for (var len = arr.length, i = len; --i >= 0;) {
if (arr[arr[i]]) {
arr[arr[i]] += 1;
arr.splice(i, 1);
} else {
arr[arr[i]] = 1;
}
}
arr.sort(function(a, b) {
return arr[b] - arr[a];
});
console.log(arr);
var stringResult = JSON.stringify(arr, function(k, v) {
if (k == '') return v;
return `${v} - ${arr[v]}`;
}, 2);
document.getElementById('result').innerHTML = stringResult;
console.log(stringResult);
console.log(arr.map((el, i, a) => ({
[el]: a[el]
})));