JSFiddle - React, Tailwind, and code Playground

JavaScript

// define string test
var str = 'aa yyyyy bb cccc cc dd bbb';
function findMaxLengthinArray(array)
{
    var max = 0,indexmax = 0 ;
    $.each(array,function(index,item){
        if(array[index].length > max)
        {
            max = array[index].length;
            indexmax = index;
        }
    });
    return array[indexmax];
}
// define list different word
var lstDiffWord = []; 
// define result
var objResult = {"keychar":"","maxrepeat": 0};
// 
var currentIndex = 0;

// find list different word
$.each(str,function (index,item){
    var isDiff = true;
    // find a word different in string
    $.each(lstDiffWord,function(i,worditem){
        if(lstDiffWord[i] == str[index] 
           // ignore whitespace
           || $.trim(str[index]) == "")
        {
            isDiff = false;
            return;
        }
    });
    // if found, then push to list different word
    if(isDiff)
    {
        lstDiffWord.push($.trim(str[index]));
        currentIndex = lstDiffWord.length -1 ;
         if(lstDiffWord.length > 0)
         {
             // find maxlength in list regex letter match
             var word = lstDiffWord[currentIndex];
             var
wordcount =str.match(new RegExp(word+'+','g'));
             var wordMaxlength = findMaxLengthinArray(wordcount);
             console.log(wordcount);
             // set new letter has maxlength
             if(wordMaxlength.length > objResult.maxrepeat)
             {
                  objResult = {"keychar" : wordMaxlength,
                          "maxrepeat":wordMaxlength.length
                         };
             }
         }
             
    }
});
console.log(lstDiffWord);
console.log(objResult);