как сделать, чтобы посчиталось в процентном содержании каждого символа в тексте
всем привет, помогите пожалуйста, нужно чтобы в абзаце 'procent' выводилось сообщение о том, сколько содержании каждого символа в тексте в процентах, вот мои попытки, обозначил в коде
let textarea = document.querySelector('textarea');
let wordСount = document.querySelector('#wordСount');
let characterNumber = document.querySelector('#characterNumber');
let characterNumberNoSpaces = document.querySelector('#characterNumberNoSpaces');
let propcent = document.querySelector('#procent');
textarea.addEventListener('blur', function(){
const podschet = textarea.value.split(' ');
wordСount.textContent = podschet.length;
characterNumber.textContent = textarea.value.length;
const noSpaces = textarea.value.split('').filter(c => c != ' ').length;
characterNumberNoSpaces.textContent = noSpaces;
//мои попытки
let result = {};
for (let i = 0; i < podschet.length; i++){
let a = podschet[i];
if (result[a] != undefined){
++result[a];
} else {
result[a] = 1;
}
}
for (let key in result){
propcent.textContent = 'символ ' + key + ' == ' + result[key] + ' раз(а)'
}
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<textarea id="" maxlength="640"></textarea>
<p id="wordСount"></p>
<p id="characterNumber"></p>
<p id="characterNumberNoSpaces"></p>
<p id="procent"></p>
<script src="js/app.js"></script>
</body>
</html>
Ответы (1 шт):
Автор решения: Rudi
→ Ссылка
Чтобы посчитать сколько процентов число X составляет от числа Y применим формулу (X * 100) / Y или к примеру (5 * 100) / 12 = 41.6 Также стоит учесть, что a и A это одна и та же буква, но разные по регистру, если необходимо считать с учетом регистра, то нужно удалить строку leter = leter.toLowerCase()
let textarea = document.querySelector('textarea');
let wordСount = document.querySelector('#wordСount');
let characterNumber = document.querySelector('#characterNumber');
let characterNumberNoSpaces = document.querySelector('#characterNumberNoSpaces');
let propcent = document.querySelector('#procent');
textarea.addEventListener('blur', function() {
const podschet = textarea.value.split(' ');
wordСount.textContent = podschet.length;
characterNumber.textContent = textarea.value.length;
const noSpaces = textarea.value.split('').filter(c => c != ' ').length;
characterNumberNoSpaces.textContent = noSpaces;
let symbol = {};
let res = [];
for (let leter of textarea.value) {
leter = leter.toLowerCase()
if (symbol[leter]) {
symbol[leter]++;
} else {
symbol[leter] = 1;
}
}
for (let key in symbol) {
res.push(key + ": " + (100 * symbol[key]) / textarea.value.length + "%")
}
propcent.innerHTML = res.join('<br>')
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<textarea id="" maxlength="640"></textarea>
<p id="wordСount"></p>
<p id="characterNumber"></p>
<p id="characterNumberNoSpaces"></p>
<p id="procent"></p>
<script src="js/app.js"></script>
</body>
</html>