2016-12-30 9 views
0

Как найти, имеют ли все отдельные символы в укусе одинаковые числа, например, aassdd имеет тот же счет 'a', 's' and 'd'. Я знаю, как сравнивать персонажей друг с другом, но я не знаю, где провести число каждогоJavascript, если символы в строке имеют одинаковое количество записей

вхождение
function letterCount(string, letter, caseSensitive) { 
     var count = 0; 
     if (!caseSensitive) { 
     string = string.toUpperCase(); 
     letter = letter.toUpperCase(); 
     } 
     for (var i=0, l=string.length; i<string.length; i += 1) { 
     if (string[i] === letter) { 
      count += 1; 
     } 
     } 
     return count; 
    } 

Мой вопрос заключается в том, чтобы держать количество каждого символа и вхождение чем сравнить их

+0

Я не хочу, чтобы сравнить все символы определенного символа, я хочу увидеть, если каждый из мест где символы равны – tss1

+0

К сожалению, неправильно ваш вопрос. Похоже, у вас есть хороший ответ внизу. – G0dsquad

ответ

2

Вы можете использовать объект и символы как свойство для подсчета.

function letterCount(string, caseSensitive) { 
 
    var count = {}; 
 
    if (!caseSensitive) { 
 
     string = string.toUpperCase(); 
 
    } 
 
    for (var i = 0, l = string.length; i < l; i++) { 
 
     if (!count[string[i]]) { 
 
      count[string[i]] = 0; 
 
     } 
 
     count[string[i]]++; 
 
    } 
 
    return count; 
 
} 
 

 
console.log(letterCount('aAssdD', false)); 
 
console.log(letterCount('aAssdD', true));

+0

Почему первый консольный журнал возвращает false, а второй - true? – tss1

+0

'true' /' false' - это параметр 'caseSensitive' функции' letterCount'. он не является частью 'console.log'. –

+0

Отправлено 5 минут назад, и сайт говорит мне за 5 секунд до того, как я отправлю почти идентичный ответ. Спасибо! Очевидно, это хороший ответ, хотя;) – Archer

 Смежные вопросы

  • Нет связанных вопросов^_^