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]&&current!="")||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;
};