У меня следующая проблема: Подсчет количества дубликатов
Напишите функцию, которая будет возвращать количество различных буквенных символов без учета регистра и числовых цифр, которые встречаются более одного раза во входной строке. Можно предположить, что входная строка содержит только буквенно-цифровые символы, включая цифры, прописные и строчные буквы.
Пример
- "abcde" -> 0 (# символов не повторяется более одного раза)
- "aabbcde" -> 2 (# 'a' и 'b')
- "aabbcdeB" -> 2 (# 'a' и 'b')
- "неделимость" -> (1 # 'i')
- "Неделимость" -> 2 (# 'i' и 's')
- "aa11" -> 2 (# 'a' и '1')
У меня есть код ниже, который, кажется, работает, но я не совсем понимаю:
function countDuplicates(str) {
var myObj = {},
counter = 0;
for(var i = 0; i < str.length; i++){
if(!myObj[str[i]]){
myObj[str[i]] = 1;
}
else if(myObj[str[i]] < 2) {
myObj[str[i]]+=1;
counter++;
}
}
return counter;
}
Можно ли было бы проходить построчно и быстро объяснять, что делает код?