首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的OR操作符似乎不是工作级别的初学者

我的OR操作符似乎不是工作级别的初学者
EN

Stack Overflow用户
提问于 2020-12-24 03:45:50
回答 1查看 23关注 0票数 0

我在做一件非常简单的事情。查看字符串以计算元音。我后来发现,有一种更好的方法来编写我想要做的事情,但我觉得我的代码也应该达到同样的结果,即使它有点冗长。

这个问题似乎源于我的IF条件。我写if (arrayi === 'a'||'e'||'i'||'o'||'u')是为了检查字母是a、e还是i,依此类推。

如果我一次只查找一个元音,它就会起作用。但是,我认为使用OR运算符可以扩展条件以包括其他值。

无论如何,我希望有人能够解释为什么它不工作。我将在下面留下完整的代码。

答案是返回我给出的任何句子的完整字母数。

代码语言:javascript
运行
复制
function VowelCount(str) { 

    str.toLowerCase();  
let count = 0;
let array = str.split('');

for (let i = 0; i < array.length; i++){
  if (array[i] === 'a'||'e'||'i'||'o'||'u'){
    count++
  }
}

  return array; 
}

EN

回答 1

Stack Overflow用户

发布于 2020-12-24 03:56:00

代码语言:javascript
运行
复制
array[i] === 'a'||'e'||'i'||'o'||'u'

这就是说is arrayi === 'a‘OR true,等等。

'e','i','o','u‘都是真值,因此if语句始终为真。

为了让它做你想做的事情,你应该按照Gerard在评论中提到的那样做:

代码语言:javascript
运行
复制
if (array[i] === 'a' || array[i] === 'e' || etc.) {...}

另一种简明的方法是:

代码语言:javascript
运行
复制
if (['a', 'e', 'i', 'o', 'u'].includes(array[i])) {...}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65430095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档