Test name | Executions per second |
---|---|
arr.filter | 10780288.0 Ops/sec |
for | 11988019.0 Ops/sec |
arr.reduce | 12155319.0 Ops/sec |
regex | 2858277.5 Ops/sec |
indexOf | 9523024.0 Ops/sec |
count = function(arr, item) {
return arr.filter(function(x){return x==item}).length
}
count([1,2,3,2,4,2], 2);
count = function(arr, item) {
var count = 0;
for(var i = 0; i < arr.length; ++i){
if(arr[i] == item)
count++;
}
return count
}
count([1,2,3,2,4,2], 2);
count = function(arr, item) {
return arr.reduce(function(total,x){return x==item ? total+1 : total}, 0);
}
count([1,2,3,2,4,2], 2);
count = function(arr, item) {
var regex = new RegExp('[^'+item+']+', 'g');
return String(arr).replace(regex,'').length
}
count([1,2,3,2,4,2], 3);
count = function(arr, item) {
var count= 0, i;
while((i= arr.indexOf(item, i))!= -1){
++count;
++i;
}
return count;
}
count([1,2,3,2,4,2], 2);