私は文字列を受け取るjavascript関数を記述しようとしており、母音の数を数えています。各母音の数と総計を表示します。すべての母音が文字列内にあれば正常に動作しますが、たとえばAやEがない場合はnullを返します。Javascriptの正規表現のマッチアップnull
これを傍受してnullを0に置き換える方法はありますか?または、これを達成するより効率的な方法がありますか?助けることができる誰にもありがとう!
function countVowels(inString) {
return outString = (
"Total vowels: " + inString.match(/[aeiou]/gi).length +
"\nTotal A's: " + inString.match(/[a]/gi).length +
"\nTotal E's: " + inString.match(/[e]/gi).length +
"\nTotal I's: " + inString.match(/[i]/gi).length +
"\nTotal O's: " + inString.match(/[o]/gi).length +
"\nTotal U's: " + inString.match(/[u]/gi).length
);
}
<form>
Enter a string to count its vowels. <br>
<input type="text" id="inString"><br>
<button type="button" onclick="console.log(countVowels(inString.value))">Count vowels</button>
</form>
うん、 'match'は迷惑なその方法の一種です。 '文字列'に 'letter'のインスタンス数を数える' function count(文字列、文字) 'を書いて' count(inString、 'a') '、' count(inString、 'e') 'など。それらのそれぞれを保存して一緒に追加して、母音の総数を取得することができます。 – Ryan
'/ [a]/gi'の代わりに'/a/gi'を使うことができます。これはあなたの問題を解決することはできませんが、それは少しきれいです... – Cerbrus