Как привести объект в строку и вывести результат в

Код должен разбивать строку на символы и выводит частоту буквы, но я получаю из функции object Object и из-за этого не могу вывести полученный результат в input.

Функция:

const counter = s => [...s].reduce((a,c) => (a[c] = a[c]+1 || 1) && a, {})

counter(encryptedMessage) //{Г: 3, Т: 3, Е: 3} - пример того что она выводит.
document.getElementById('lettersCount').value = counter(encryptedMessage)

Как мне эту частоту вывести в input?


Ответы (2 шт):

Автор решения: Igor
document.getElementById('lettersCount').value = JSON.stringify(counter(encryptedMessage));

document.getElementById('lettersCount').value =
  Object.entries(counter(encryptedMessage)).map(i => i.join(":")).join(" ");

var d = { A: 2, B: 3, C: 4 };
var s = Object.entries(d).map(i => i.join(":")).join(" ");
console.log(s);

→ Ссылка
Автор решения: Alex

можно сделать так:

document.getElementById('lettersCount').value = JSON.stringify(counter(encryptedMessage))

но это будет не очень красиво. а вообще не понятно, что нужно вывести в инпут. если такой объект, то как он должен выглядеть на странице? можно вывести в несколько строк вот так:

const obj = {"Г": 3, "Т": 2, "Е": 3} 
let result = ''

for (var key in obj) {
  result += `${key}: ${obj[key]}\n`
};

document.querySelector('.result').value = result;
<textarea class="result"></textarea>

→ Ссылка