Привет товарищ,

Обсудим постановку задачи.

У нас есть длинная строка, мы находим максимальную повторяющуюся работу в данной строке. мы должны вернуть вывод в заданном формате. {слово:'ты', счет: 5}

let str = "this is restr you we there top news You we there you We There you me You cart you most you";
let uniqueWords = [];

Мы должны взять массив и поместить в него каждое уникальное слово.

let uniqueWords = [];

В приведенной ниже функции (findUniqueWords) мы должны разделить заданную строку с пробелом, тогда я стану массивом слов.

Теперь нам нужно запустить цикл для массива слов и проверить, существует ли слово в нашем массиве уникальных слов, если слово в нет > найденный в нашем уникальном массиве, мы должны подсчитать, сколько раз это слово присутствует в заданной строке (слова массива) и вставить в массив уникальных слов(uniqueWords).

Частично у нас также есть самый высокий счетчик (higestCount). Мы должны проверить, что количество слов больше до higestCount, чем мы должны построить ответ и установить наивысшее(higestCount) значение, равное count.

function findUniqueWords(str) {
    let wordsArray = str.split(' ');
    let higestCount = 0;
    let res = {};
    for(let word of wordsArray) {
        if(!uniqueWords.includes(word)) {
            let count = findCount(wordsArray, word);
            if(higestCount < count) {
                res = {word: word, count: count};
                higestCount = count;
            }
            uniqueWords[word] = count;
        }
    }
    return res;
}

Ниже у нас есть метод поиска подсчета (findCount). Метод будет принимать массив слов и слово, которые мы ищем. Логика метода очень проста, нам просто нужно запустить цикл массива слов (wordsArray), а затем просто проверить, что слова совпадают с словом, если слово соответствует, мы должны увеличить счетчик, а затем вернуть счетчик.

function findCount(wordsArray, word) {
    let count = 0;
    for(let words of wordsArray) {
        if(words == word) {
            count++;
        }
    }
    return count;
}

Как выполнить функцию?

let resp = findUniqueWords(str);
console.log(resp);

Выход:

Есливам нужна помощь, подпишитесь на меня в Github или LinkedIn.

Спасибо, достаточно! Если вам понравился этот пост, не забудьте поставить 👏.