Повторяющийся элемент в строке - PullRequest
1 голос
/ 21 июня 2020

Я пытаюсь написать код, который может определять, какой элемент функции повторяется и сколько раз он повторяется. Код также игнорирует различия в регистре.

пример: Пример «abcde» -> 0 # символы не повторяются более одного раза «aabbcde» -> 2 # 'a' и 'b' «aabBcde» - > 2 # 'a' встречается дважды и 'b' дважды (b и B) "неделимость" -> 1 # 'i' встречается шесть раз

Вот мой код:

    //...
    let count = 0;
    for(let i = 0; i < str.length; i++){
      for(let j = 0; j <str.length; j++){
          if(str[i] === str[j]){
            count = count + 1 //Count will tally how many times each given letter is repeated
            return console.log(`${str[i]} occurs ${count}`)
          }
      }
      
    }
  }
  duplicateCount('blaaaab');

Ответы [ 3 ]

1 голос
/ 21 июня 2020

L oop через строку и сохранить количество вхождений символа

function duplicateCount(str) {
   let result = {}
   for(let i = 0; i < str.length; i++) {
       const char = str[i]
       if(char in result) {
           result[char] +=1
       } else {
           result[char] = 1
       }
   }
   return result
}
        
console.log(duplicateCount('blaaaab'));

Ссылки

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in - для..в https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in - в операторе https://www.w3schools.com/js/js_objects.asp - Javascript Объект

0 голосов
/ 21 июня 2020

Вы можете использовать здесь структуру Set и получить результат с помощью O (n)

const word = "abcdEedutyhaaaa";

const duplicates = Array.from(word.toLowerCase())
  .reduce((builder, char) => {
    builder.all.has(char) ? builder.duplicate.add(char) : builder.all.add(char);
    return builder;
  }, { duplicate: new Set(), all: new Set() })
  .duplicate
  .size;

console.log(duplicates); // => 3
0 голосов
/ 21 июня 2020
function repeatedCharacters(str){
   try{ 
return str.toLowerCase().split("").sort().join("").match(/(.)\1+/g).length;
 }
 catch(e){ 
return 0;
 } // if TypeError
}
console.log(repeatedCharacters("CheeecKKCaaz"))

Приведенный выше код сообщает о том, сколько символов повторяется, вы можете изменить его, чтобы определить появление каждого символа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...