각 글자의 수를 빨리 알아 낸 다음 클래스를 설정하는 것이 가장 쉽습니다.
(function($) {
function getLetterCount(text) {
var alphabet = 'abcdefghijklmnopqrstuvwxyz';
var alphabetSet = alphabet.split('');
var letterCount = {};
$.each(alphabetSet, function() {
letterCount[this] = 0;
});
var cleanText = text.toLowerCase().replace(/[^a-z]/g, '');
$.each(cleanText.split(''), function() {
letterCount[this]++;
});
return letterCount;
}
function setLetterClasses(letterCounts) {
$('.letter').removeClass('green').removeClass('red');
$.each(letterCounts, function(letter, count) {
if (count > 0) {
$('#alpha_' . (letter.charCodeAt(0) - 'a'.charCodeAt(0))).addClass(count > 1 ? 'red' : 'green');
}
});
}
function isPangram() {
var text = $('#input').val();
var letterCount = getLetterCount(text);
setLetterClasses(letterCount);
}
})(jQuery);