【发布时间】:2016-06-23 00:53:17
【问题描述】:
我正在尝试制作下面的 JS 代码,Develop 和 Array 每个元音的计数 1) A 的计数 2) E 的计数 3) 我的计数 4) 计数为 0 5) U 计数
读取字符串后,代码会生成每个元音出现的次数。 但是现在我需要创建一个数组来显示,元音出现频率最高
我知道这与创建变量有关
var largeSoFar 等...但是如何将它拼凑起来我遇到了问题。
/* * 要更改此模板,请选择工具 |模板 * 并在编辑器中打开模板。 */
function count_all() {
var str = document.getElementById('txtname').value;
var count9=0, totalvowels="";
var count2=0, totalconsonants="";
var count3=0, total_digits="";
var count4=0, totalA="";
var count5=0, totalE="";
var count6=0, totalI="";
var count7=0, totalO="";
var count8=0, totalU="";
for (var i = 0; i < str.length; i++) {
if (str.charAt(i).match(/[a-zA-Z]/) !== null) {
if (str.charAt(i).match(/[aeiouAEIOU]/))
{
totalvowels = totalvowels + str.charAt(i);
count9++;
}
if (str.charAt(i).match(/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]/))
{
totalconsonants = totalconsonants + str.charAt(i);
count2++;
}
if (str.charAt(i).match(/[aA]/))
{
totalA = totalA + str.charAt(i);
count4++;
}
if (str.charAt(i).match(/[eE]/))
{
totalE = totalE + str.charAt(i);
count5++;
}
if (str.charAt(i).match(/[iI]/))
{
totalI = totalI + str.charAt(i);
count6++;
}
if (str.charAt(i).match(/[oO]/))
{
totalO = totalO + str.charAt(i);
count7++;
}
if (str.charAt(i).match(/[uU]/))
{
totalU = totalU + str.charAt(i);
count8++;
}
}
function retnum(str1) {
var num = str1.replace(/[^0-9]/g, '');
return num;
}
function count_digits(str2) {
var num2 = str2.replace(/[^0-9]/g,"").length;
return num2;
}
}
document.getElementById('TotalU').value = count8;
document.getElementById('TotalO').value = count7;
document.getElementById('TotalI').value = count6;
document.getElementById('TotalE').value = count5;
document.getElementById('TotalA').value = count4;
document.getElementById('consonant_counter').value = count2;
document.getElementById('total_consonants').value = totalconsonants;
document.getElementById('vowels').value = totalvowels;
document.getElementById('vocount').value = count9;
document.getElementById('digits1').value = count_digits(str);
document.getElementById('digits2').value = retnum(str);
}
function clear_all()
{
document.getElementById('TotalU').value = "";
document.getElementById('TotalO').value = "";
document.getElementById('TotalI').value = "";
document.getElementById('TotalE').value = "";
document.getElementById('TotalA').value = "";
document.getElementById('consonant_counts').value ="";
document.getElementById('total_consonants').value ="";
document.getElementById('vowels').value = "";
document.getElementById('vcount').value = "";
document.getElementById('digits1').value ="";
document.getElementById('digits2').value ="";
document.getElementById('txtname').value ="";
document.getElementById('txtname').focus();
}
【问题讨论】:
-
为什么不使用对象来计数,以单个字母为键?
-
你好,是的,我接下来会这样做,但我更容易理解这个版本的逻辑,但我知道有一些方法可以简化实际结构本身。
-
你会怎么做
标签: javascript html