Как привести объект в строку и вывести результат в
Код должен разбивать строку на символы и выводит частоту буквы, но я получаю из функции 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>