@bakunovdo

Как посчитать количество повторений символов в строке?

Необходимо сосчитать количество повторяемых символов.
Выходные данные для abracadabra:
[['a', 5], ['b', 2], ['r', 2], ['c', 1], ['d', 1]]
Из строки у меня пока только получается сделать в таком виде, для всех символом:
[["a", 1], ["b", 1],

Не знаю, как могу проверить что в массиве есть, массив с каким то символом...
var orderedCount = function (text) {
  arr = []
  text.split('').forEach( (s,i) => {
    if (!arr.includes([s])) {
      arr.push([s, 1])
    } else {
       ++arr[i][1]
    }
  })
  return arr;
}
  • Вопрос задан
  • 136 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Object.entries([...str].reduce((acc, n) => (acc[n] = (acc[n] || 0) + 1, acc), {}))
Ответ написан
function orderedCount(str) {
    const symbols = new Map();
    for (const c of str) {
        const currCount = symbols.get(c) || 0;
        symbols.set(c, currCount + 1);
    }
    const orderedSymbols = [...symbols.entries()];
    return orderedSymbols;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Бородатый программер
Воспользуйтесь для подсчета символов обычным объектом, где ключи - буквы, а значения - их количество, а уже потом сформируйте из него массив.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы