Как вывести текст и окрасить три повторяющихся символа в цвет и убрать пробелы?

подскажите пожалуйста, как вывести текст и окрасить три повторяющихся символа красным, синим и зеленым цветами и убрать пробелы. Заранее большое спасибо.

function shakeSymbol(sourceSctring){
                const filteredStr = sourceSctring.toLowerCase().replace(/[^а-яё]/g, '');
                const charCount  = {};
                for(const chr of filteredStr)
                charCount[chr] = (charCount[chr] || 0) + 1;
                const result = Object.keys(charCount)
                .map(chr => ({letter: chr, count: charCount[chr]}));
                return result.sort((a, b) => b.count - a.count);
            }

        const text =
            `Алиса сидела со старшей сестрой на берегу и маялась: делать ей было совершенно нечего, а сидеть без дела, сами знаете, дело нелегкое; раз-другой она, правда, сунула нос в книгу, которую сестра читала, но там не оказалось ни картинок, ни стишков. "Кому нужны книжки без картинок или хоть стишков, не понимаю!" - думала Алиса. 
        С горя она начала подумывать (правда, сейчас это тоже было дело не из легких - от жары ее совсем разморило), что, конечно, неплохо бы сплести венок из маргариток, но плохо то, что тогда нужно подниматься и идти собирать эти маргаритки, как вдруг... Как вдруг совсем рядом появился белый кролик с розовыми глазками! 
        Тут, разумеется, еще не было ничего такого необыкновенного; Алиса-то не так уж удивилась, даже когда услыхала, что Кролик сказал (а сказал он: "Ай-ай-ай! Я опаздываю!"). Кстати, потом, вспоминая обо всем этом, она решила, что все-таки немножко удивиться стоило, но сейчас ей казалось, что все идет как надо. 
        Но когда Кролик достал из жилетного    кармана (да-да, именно!) ЧАСЫ (настоящие!) и, едва взглянув на них, опрометью кинулся бежать, тут Алиса так и подскочила! 
        Еще бы! Ведь это был первый Кролик в жилетке и при часах, какого она встретила за всю свою жизнь! 
        Сгорая от любопытства, она со всех ног помчалась вдогонку за Кроликом и, честное слово, чуть-чуть его не догнала! 
        Во всяком случае, она поспела как раз вовремя, чтобы заметить, как Белый Кролик скрылся в большой норе под колючей изгородью.`;

        const topThree  = shakeSymbol(text).splice(0, 3);
        console.log(topThree.map((obj, i) => `${i + 1}: буква '${obj.letter}'\n встречается ${obj.count} раз(а)`).join('\n')); 


Ответы (0 шт):