在本教程中,我们将学习如何使用JavaScript查找字符串中的元音数量,在初级开发人员面试中可能会问这个问题。
在开始编码之前,让我们详细阅读问题描述:
返回给定字符串中元音的数量(计数)。我们将把a、e、i、o和u视为元音,但不包括y。输入的字符串将只包含小写字母和/或空格。 |
步骤1:制定解决方案
对于这个问题,我们将创建一个名为 getCount 的函数,它将一个字符串作为输入,并将该字符串中元音的数量作为输出返回。
让我们来看一些例子。
- // 例子
- getCount("abracadabra") ----> 5
- getCount("abc") ----> 1
在第一个例子中,我们看到我们的函数返回5,也就是一个元音在字符串 abracadabra 中出现的次数。对于字符串 abc,只返回1,因为只有一个元音(a)出现。
为了解决这个问题,我们将创建一个 vowelsCount 变量,用来跟踪字符串中的元音数量。
我们还将创建一个数组:vowels,用来存放所有的元音。我们将检查字符串中的每一个字符,如果该字符是元音,我们将增加 vowelsCount 变量。
最后,我们将返回 vowelsCount 变量。
让我们开始吧!
步骤2:编写代码以解决问题
首先,我们编写函数 getCount,接下来,我们将创建一个变量 vowelsCount 并将其设置为 0。
- function getCount(str) {
- let vowelsCount = 0
- }
接下来我们将创建 vowels 数组,这样我们就可以把每个元音都放在一个地方,以后就可以使用这个数组。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- }
现在我们需要查看输入字符串 str 中的每一个字符,我们需要检查或查看字符串中的每个字符,以便确定它是否是元音。
为此,我们可以使用适用于字符串的 for ... of 语句。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- // ...
- }
- }
现在,在for循环中,我们可以查看并遍历字符串中的每个字符。
接下来,我们要检查每个字符是否都是元音。
要做到这一点,我们可以使用 includes 方法。includes() 方法决定一个数组是否在其条目中包含了某个值。如果是,则返回 true,如果不是,则返回 false。
使用 includes ,我们将检查元音数组中是否包含当前正在循环中迭代的字符。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- if (vowels.includes(char)) {
- // ...
- }
- }
- }
我们已经创建了 if 语句来检查当前字符是否是元音,如果这个字符是元音,那么我们要增加 vowelsCount 变量,为此,我们可以在JavaScript中使用递增运算符:
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- if (vowels.includes(char)) {
- vowelsCount++
- }
- }
- }
最后,我们需要做的就是让我们的函数返回 vowelsCount 变量,我们可以通过在循环外返回变量来实现。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- if (vowels.includes(char)) {
- vowelsCount++
- }
- }
- return vowelsCount
- }
就是这样!
我们现在已经写了一个函数,它将输入一个字符串,并返回输出字符串中元音出现的次数。