मुझे एक ऐसा फ़ंक्शन लिखना है जो एक चरित्र लेता है (यानी लंबाई 1 की एक स्ट्रिंग) और यदि यह स्वर है, तो गलत साबित होता है। मैं दो कार्यों के साथ आया, लेकिन यह नहीं पता कि कौन सा बेहतर प्रदर्शन कर रहा है और मुझे किस तरह से पसंद करना चाहिए। RegEx वाला एक तरीका आसान है लेकिन मुझे यकीन नहीं है कि मुझे RegEx का उपयोग करने से बचने की कोशिश करनी चाहिए या नहीं?मैं जावास्क्रिप्ट में स्वरों की जांच कैसे करूं?
रेगुलर एक्सप्रेशन से बिना मेरा प्रयास:
function isVowel(char)
{
if (char.length == 1)
{
var vowels = new Array('a','e','i','o','u');
var isVowel = false;
for(e in vowels)
{
if(vowels[e] == char)
{
isVowel = true;
}
}
return isVowel;
}
}
RegEx के साथ
:
function isVowelRegEx(char)
{
if (char.length == 1)
{
return /[aeiou]/.test(char);
}
}
जिज्ञासा से बाहर - स्ट्रिंग की लंबाई 1 नहीं होने पर आपके कार्य को वापस करने के लिए क्या करना चाहिए? –
[बेंचमार्क] (http://jsperf.com/regex-vs-for-loop) – Raynos
मुझे यकीन नहीं है कि संदर्भ क्या है, लेकिन आपको विभिन्न भाषाओं से निपटने में समस्या होगी। उदाहरण के लिए आप "ë" पत्र का इलाज कैसे करेंगे उदाहरण के लिए ज़ोए? यह अभी भी एक स्वर है भले ही यह अस्तित्व में है। क्या आप अधिक जानकारी दे सकते हैं? – T9b