Javascript 单击时计算字符串中的每个元音

Javascript 单击时计算字符串中的每个元音,javascript,html,Javascript,Html,为html文件编写一些js,在其中输入一个句子(字符串)。当我点击一个按钮时,它会输出每个元音的数量,不包括y,也不注意标点符号。我不能使用var,所以我尝试使用let来实现这一点。我相信我在这里走的是正确的道路,从元音a开始,但是如果这个句子不包含a,我就会出错。我想不出下一步该怎么办。有什么想法吗 “严格使用”; 设vButton=document.querySelectorAll(“#元音”); forEach(函数(blip){ blip.addEventListener('click

为html文件编写一些js,在其中输入一个句子(字符串)。当我点击一个按钮时,它会输出每个元音的数量,不包括y,也不注意标点符号。我不能使用var,所以我尝试使用let来实现这一点。我相信我在这里走的是正确的道路,从元音a开始,但是如果这个句子不包含a,我就会出错。我想不出下一步该怎么办。有什么想法吗

“严格使用”;
设vButton=document.querySelectorAll(“#元音”);
forEach(函数(blip){
blip.addEventListener('click',函数(evt){
evt.preventDefault();
console.log('click');
让vouelstring=document.getElementById('roboInput'),
句子=元音字符串.value;
如果(句子!=''){
设aMatches=句子.match(/a/gi).length;
警报(“a-”+警报);
}
vouelstring.value='';
});
});
a{
光标:指针;
}
.井机器人{
最小高度:340px;
}
.输入机器人{
宽度:100%;
最小高度:100px;
}
.输出机器人{
边框:1px实心#000000;
最小高度:150px;
边缘顶部:10px;
}

你好我是一个聪明的机器人。我可以做很多有趣的事情。在下面键入内容,然后单击按钮观看我的工作!
数元音
计算字谜
字距

当正则表达式不匹配时,
.match()
返回
null
,而不是空数组,因此无法获取长度。你需要检查一下

let matches = sentence.match(/a/gi);
let matchLength = matches ? matches.length : 0;
alert('a - ' + matchLength);

当正则表达式不匹配时,
.match()
返回
null
,而不是空数组,因此无法获取长度。你需要检查一下

let matches = sentence.match(/a/gi);
let matchLength = matches ? matches.length : 0;
alert('a - ' + matchLength);

如果我正确理解了你的问题,你可能会想要这样的东西:

“严格使用”;
设vButton=document.querySelectorAll(“#元音”);
forEach(函数(blip){
blip.addEventListener('click',函数(evt){
evt.preventDefault();
//console.log('click');
让vouelstring=document.getElementById('roboInput'),
句子=元音字符串.value;
如果(句子){
设result={a:0,e:0,i:0,o:0,u:0};
for(变量i=0,l=句子长度;i
a{
光标:指针;
}
.井机器人{
最小高度:340px;
}
.输入机器人{
宽度:100%;
最小高度:100px;
}
.输出机器人{
边框:1px实心#000000;
最小高度:150px;
边缘顶部:10px;
}

你好我是一个聪明的机器人。我可以做很多有趣的事情。在下面键入内容,然后单击按钮观看我的工作!
数元音
计算字谜
字距

如果我正确理解了你的问题,你可能会想要这样的东西:

“严格使用”;
设vButton=document.querySelectorAll(“#元音”);
forEach(函数(blip){
blip.addEventListener('click',函数(evt){
evt.preventDefault();
//console.log('click');
让vouelstring=document.getElementById('roboInput'),
句子=元音字符串.value;
如果(句子){
设result={a:0,e:0,i:0,o:0,u:0};
for(变量i=0,l=句子长度;i
a{
光标:指针;
}
.井机器人{
最小高度:340px;
}
.输入机器人{
宽度:100%;
最小高度:100px;
}
.输出机器人{
边框:1px实心#000000;
最小高度:150px;
边缘顶部:10px;
}

你好我是一个聪明的机器人。我可以做很多有趣的事情。在下面键入内容,然后单击按钮观看我的工作!
数元音
计算字谜
字距

“输出每个元音的数量”。你的意思是每个元音的计数不同?是的,在这里提问还是比较新的,所以我很抱歉没有简洁地“输出每个元音的数量”。你的意思是每个元音的计数不同?是的,在这里问问题还是比较新的,所以我为不简洁而道歉