Дана строка. Подсчитайте сколько раз в ней встречается каждый из ее символов

Рейтинг: 0Ответов: 2Опубликовано: 15.05.2023

Подскажите что сделала на так?

//Дана строка. Подсчитайте сколько раз в ней встречается каждый из ее символов.
let str = 'hello',
    counter = {}; 
for ( let elem of str ) {
if ( counter[elem] == ' ' ) {
  counter[elem] =1;
} else counter[elem]++;
}
console.log(counter)

Код выдаёт:

// [object Object] { "h": null, "e": null, "l": null, "o": null }

Ответы

▲ 1

Еще вариант:

const str = "Hello";

const obj = [...str].reduce((obj, letter) =>
{
  obj[letter] = (obj[letter] ?? 0) + 1;
  
  return obj;
}, {})

console.info(obj);

▲ 0

Дана строка. Подсчитайте сколько раз в ней встречается каждый из ее символов

Вот такой вариант можно использовать...

const str = 'hello'
const m = [...str].reduce((m, v) => {
  const n = m.has(v) ?  m.get(v) + 1 : 1
  m.set(v, n)
  return m
} , new Map())
for (let a of m) console.log(a[0], a[1])