JSFiddle - React, Tailwind, and code Playground
by GaryC123
JavaScript
var testArray = ["John","Paul","Peter","Peter","Paul","Paul","Paul","John"]
testArray.sort()
var newArray = compressArray(testArray);
alert(JSON.stringify(newArray))
function compressArray(original) {
var sorted = [];
current=""
count=1
for (var i = 0; i < original.length; i++) {
if(current==original[i]){count++}
if((current!=original[i]&¤t!="")||i==original.length-1){
var a = new Object();
a.value = original[i-1];
a.count = count;
sorted.push(a);
count=1
}
current=original[i]
}
sorted.sort(function(a,b) {
return b.count-a.count;
});
return sorted;
};