JSFiddle - React, Tailwind, and code Playground
by Rajesh Danabal
JavaScript
let word = 'aabcccccaaa';
let chars = word.split('');
let counter = 1;
let occur = 0;
let result = chars.reduce(function(prevValue, currValue, index, array) {
let isLastChar = array.length - 1 === index;
if (prevValue.substr(prevValue.length - 1) !== currValue) {
occur = counter;
counter = 1;
prevValue = prevValue + occur + currValue;
return isLastChar ? prevValue + 1 : prevValue
} else {
counter++;
return isLastChar ? prevValue + counter : prevValue;
}
});
console.log("result", result);