Оцените мой скрипт
Готов к конструктивной и уничижительной критике :) (являюсь тотальным новичком в JS)
↓Предназначение скрипта: подсчитывать и выводить на страницу количество букв, содержащихся в водимом юзером тексте.
var alphabet = [["a",0],["b",0],["c",0],["d",0],["e",0],["f",0],["g",0],["h",0],["i",0],["j",0],["k",0],["l",0],["m",0],["n",0],["o",0],["p",0],["q",0],["r",0],["s",0],["t",0],["u",0],["v",0],["w",0],["x",0],["y",0],["z",0]];
var input = prompt("Type in something ");
for (var i = 0; i < input.length; i++)
{
for (var j = 0; j < alphabet.length; j++)
{
if (input[i].toLowerCase() == alphabet[j][0])
{
alphabet[j][1] ++;
}
}
}
for (i = 0; i < alphabet.length; i++)
{
if (alphabet[i][1] > 0)
{
document.write("You've typed in " + alphabet[i][1] + " " + alphabet[i][0] + "'s<br \/>");
}
}
|
quam,
а если так? var alphabet = {a: 0, ....} |
я конечно не профессор, но цикл по каждой букве в строке и внутри цикл по каждой букве алфавита это не гут, лучше просто цикл по алфавиту и махом все найденные запомнить.
а считать можно например так: input.match(/alphabet[i]/g).length |
<input><pre></pre>
<script>
var input = document.querySelector('input'),
pre = document.querySelector('pre');
input.addEventListener('input', e=>{
pre.textContent = JSON.stringify(
input.value.split('').reduce(
(obj, char) => (char in obj ? obj[char]++ : obj[char] = 1, obj),
Object.create(null)
),
0,
' '
).slice(2,-2)
})
</script>
|
| Часовой пояс GMT +3, время: 15:24. |