如何检查字符串是否在JavaScript数组中?

如何检查字符串是否在JavaScript数组中?,javascript,Javascript,我正在尝试制作一个JavaScript函数,它告诉我们一个元音在给定字符串中重复了多少次 以下是我尝试过的: function checkVowel(str) { vowels = ['a', 'e', 'i', 'o', 'u'] str = "hello world" for(let i = 0; i < str.length; i++){ if(str[i].includes(vowels)){

我正在尝试制作一个JavaScript函数,它告诉我们一个元音在给定字符串中重复了多少次

以下是我尝试过的:

    function checkVowel(str) {
    vowels = ['a', 'e', 'i', 'o', 'u']
    str = "hello world"
    
    for(let i = 0; i < str.length; i++){
        if(str[i].includes(vowels)){
            console.log("worked")
        } else {
            console.log("not worked")
        }
    }
}
checkVowel()
函数校验元音(str){
元音=['a','e','i','o','u']
str=“你好,世界”
for(设i=0;i

我怎样才能让这个函数一次检查每个元音而不是整个数组?

这就是你要找的吗

函数校验元音(str){
const counts=Object.seal({a:0,e:0,i:0,o:0,u:0});
for(str的let char){
计数[char.toLowerCase()]+;
}
返回计数;
}

log(check元音(“helloworld”)这就是你要找的吗

函数校验元音(str){
const counts=Object.seal({a:0,e:0,i:0,o:0,u:0});
for(str的let char){
计数[char.toLowerCase()]+;
}
返回计数;
}

log(check元音(“helloworld”)另一种解决方案

函数count元音(单词){
常量元音=[“a”、“e”、“i”、“o”、“u”];
const wordArray=word.split(“”.map((s)=>s.toLowerCase());
常数结果={
答:0,,
e:0,
i:0,
o:0,
u:0
};
返回wordArray.reduce((acc,curr)=>{
if(元音。包括(curr)){
++acc[货币];
}
返回acc;
},结果);
}

console.log(count元音(“天使”))另一种解决方案

函数count元音(单词){
常量元音=[“a”、“e”、“i”、“o”、“u”];
const wordArray=word.split(“”.map((s)=>s.toLowerCase());
常数结果={
答:0,,
e:0,
i:0,
o:0,
u:0
};
返回wordArray.reduce((acc,curr)=>{
if(元音。包括(curr)){
++acc[货币];
}
返回acc;
},结果);
}

console.log(count元音(“天使”))
str[i]。包含(元音)
=>
元音。包含(str[i])
。您可能还想删除硬编码的
str=“hello world”
——改为使用
checkvowell(“hello world”)
调用该函数,这样您就可以对不同的字符串重复使用该函数。您想计算每个元音的出现次数,还是该字符串中总共有多少元音?实际上是第一个。
str[i] .includes(元音)
=>
元音。includes(str[i])
。您可能还希望删除硬编码的
str=“hello world”
——使用
检查元音(“hello world”)调用函数
相反,您可以对不同的字符串重复使用该函数。是否要计算每个元音的出现次数,或者该字符串中总共有多少元音?实际上是第一个元音。
seal
for of
循环的完美组合。学习了一些新知识。但是如果任何字符都是大写的,它就会失败。嘿e即将编辑您的答案现在,我一直在尝试使用字符串模板文字显示元音重复的次数,但它不起作用。您能帮我吗?@IshaanSharma同一个游戏。提出一个新问题(不要在一篇帖子中混合多个/不同的问题),展示你已经尝试过的,你得到了什么,你期望得到什么。即使有我的答案和你上面的评论,你也可以用十几种方法来写这篇文章,还有上百种可能出错的东西。seal
和for of
loop的完美结合。学到了一些新的东西。但是如果任何字符是大写的,它就会失败e即将编辑您的答案现在,我一直在尝试使用字符串模板文字显示元音重复的次数,但它不起作用。您能帮我吗?@IshaanSharma同一个游戏。提出一个新问题(不要在一篇帖子中混合多个/不同的问题),展示你已经尝试过的,你得到的和你期望的。即使有我的答案和你上面的评论,你也有十几种方法可以写这篇文章,还有上百种方法可能会出错。你的意图是什么?向下兼容?既然你已经做到了:
curr-in-result
更快O(1)比
元音。包括(curr)
O(n)你的意图是什么?向下兼容?既然你已经有了它:
curr结果比
元音快O(1)。包括(curr)
O(n)