/* 
Напишите функцию, которая будет возвращать количество букв и цифр, не зависимо от регистра,
которые встречаются во входной строке более одного раза.
Можно предположить, что входная строка содержит только буквы алфавита (как прописные, 
так и строчные) и числовые цифры.
Например:
"abcde" => 0 // все буквы уникальны
"aabbcde" => 2 // a и b задублированы
"aabBcde" => 2 // от регистра не зависит
"indivisibiity" => 1 // количество повторений не важно, как и то, что повторы идут подряд
*/
 
function checkWord() {
  // Ваш код здесь
}

**Ответ

function checkWord(str) {
  if (typeof str !== "string") {
    return undefined;
  }
 
  const newObj = str
    .toLowerCase()
    .split("")
    .reduce((acc, el) => {
      acc[el] = (acc[el] || 0) + 1;
      return acc;
    }, {});
 
  let counter = 0;
 
  for (let char in newObj) {
    if (newObj[char] === 1) {
      counter;
    } else if (newObj[char] > 1) {
      counter += 1;
    }
  }
 
  return counter;
}
 
console.log(checkWord("abcde")); // 0, все буквы уникальны
console.log(checkWord("aabbcde")); // 2, a и b задублированы
console.log(checkWord("aabBcde")); // 2, от регистра не зависит
console.log(checkWord("indivisibiity")); // 1, количество повторений не важно, как и то, что повторы идут подряд

Назад