Skip to content

Instantly share code, notes, and snippets.

@kianurivzzz
Last active October 10, 2024 14:38
Show Gist options
  • Save kianurivzzz/b36504e1ea228d7afbd62da9a5823463 to your computer and use it in GitHub Desktop.
Save kianurivzzz/b36504e1ea228d7afbd62da9a5823463 to your computer and use it in GitHub Desktop.
// пример похожей задачи
const countFruits = fruits => {
const result = {};
for (const name of fruits) {
// Проверка на существование
if (Object.hasOwn(result, name)) {
result[name] += 1;
} else {
result[name] = 1;
}
}
return result;
};

Реализуйте функцию, которая считает количество слов в предложении, и возвращает объект. В объекте свойства — это слова, приведенные к нижнему регистру, а значения — это то, сколько раз слово встретилось в предложении. Слова в предложении могут находиться в разных регистрах. Перед подсчетом их нужно приводить в нижний регистр, чтобы не пропускались дубли.

// Если предложение пустое, то возвращается пустой объект 
countWords('');
// {}

const text1 = 'one two three two ONE one wow';
countWords(text1);
// {
//   one: 3,
//   two: 2,
//   three: 1,
//   wow: 1,
// }

const text2 = 'another one sentence with strange Words words';
countWords(text2);
// {
//   another: 1,
//   one: 1,
//   sentence: 1,
//   with: 1,
//   strange: 1,
//   words: 2,
// }

Подсказки Для формирования массива слов поможет функция _.words() из модуля lodash toLowerCase() – приведение к нижнему регистру

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment