如何用JavaScript查找字符串中的元音字母數(shù)?
在本教程中,我們將學(xué)習(xí)如何使用JavaScript查找字符串中的元音數(shù)量,在初級開發(fā)人員面試中可能會問這個問題。
在開始編碼之前,讓我們詳細閱讀問題描述:
返回給定字符串中元音的數(shù)量(計數(shù))。我們將把a、e、i、o和u視為元音,但不包括y。輸入的字符串將只包含小寫字母和/或空格。 |
步驟1:制定解決方案
對于這個問題,我們將創(chuàng)建一個名為 getCount 的函數(shù),它將一個字符串作為輸入,并將該字符串中元音的數(shù)量作為輸出返回。
讓我們來看一些例子。
- // 例子
- getCount("abracadabra") ----> 5
- getCount("abc") ----> 1
在第一個例子中,我們看到我們的函數(shù)返回5,也就是一個元音在字符串 abracadabra 中出現(xiàn)的次數(shù)。對于字符串 abc,只返回1,因為只有一個元音(a)出現(xiàn)。
為了解決這個問題,我們將創(chuàng)建一個 vowelsCount 變量,用來跟蹤字符串中的元音數(shù)量。
我們還將創(chuàng)建一個數(shù)組:vowels,用來存放所有的元音。我們將檢查字符串中的每一個字符,如果該字符是元音,我們將增加 vowelsCount 變量。
最后,我們將返回 vowelsCount 變量。
讓我們開始吧!
步驟2:編寫代碼以解決問題
首先,我們編寫函數(shù) getCount,接下來,我們將創(chuàng)建一個變量 vowelsCount 并將其設(shè)置為 0。
- function getCount(str) {
- let vowelsCount = 0
- }
接下來我們將創(chuàng)建 vowels 數(shù)組,這樣我們就可以把每個元音都放在一個地方,以后就可以使用這個數(shù)組。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- }
現(xiàn)在我們需要查看輸入字符串 str 中的每一個字符,我們需要檢查或查看字符串中的每個字符,以便確定它是否是元音。
為此,我們可以使用適用于字符串的 for ... of 語句。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- // ...
- }
- }
現(xiàn)在,在for循環(huán)中,我們可以查看并遍歷字符串中的每個字符。
接下來,我們要檢查每個字符是否都是元音。
要做到這一點,我們可以使用 includes 方法。includes() 方法決定一個數(shù)組是否在其條目中包含了某個值。如果是,則返回 true,如果不是,則返回 false。
使用 includes ,我們將檢查元音數(shù)組中是否包含當前正在循環(huán)中迭代的字符。
- function getCount(str) {
- let vowelsCount = 0
- const vowels = ['a', 'e', 'i', 'o', 'u']
- for (let char of str) {
- if (vowels.includes(char)) {
- // ...
- }
- }
- }
我們已經(jīng)創(chuàng)建了 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++
- }
- }
- }
最后,我們需要做的就是讓我們的函數(shù)返回 vowelsCount 變量,我們可以通過在循環(huán)外返回變量來實現(xiàn)。
- 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
- }
就是這樣!
我們現(xiàn)在已經(jīng)寫了一個函數(shù),它將輸入一個字符串,并返回輸出字符串中元音出現(xiàn)的次數(shù)。