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);