Привет товарищ,
Обсудим постановку задачи.
У нас есть длинная строка, мы находим максимальную повторяющуюся работу в данной строке. мы должны вернуть вывод в заданном формате. {слово:'ты', счет: 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.
Спасибо, достаточно! Если вам понравился этот пост, не забудьте поставить 👏.