Test name | Executions per second |
---|---|
forEach version | 14167874.0 Ops/sec |
regexVersion | 18621818.0 Ops/sec |
// useful for HtmlCollection, NodeList, String types
function forEach(array, callback, scope){for (var i=0,n=array.length; i<n; i++)callback.call(scope, array[i], i, array);} // passes back stuff we need
function countVowels(input)
{
var vowels = 'aeiou', result = 0;
forEach( input, function(char){ if (vowels.indexOf(char) != -1) result++; } );
return result;
}
countVowels("goes");
function VowelCount(str) {
var pattern = /[aeiou]/i;
var vowelCount = 0;
for (var i = 0; i < str.length; i++) {
if (pattern.test(str[i])){
vowelCount++;
}
}
return vowelCount;
}
VowelCount("goes")