Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Array.find vs Array.indexOf vs Array.filter vs Map.has
Compare performance between Array.find vs Map.has
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Browser:
Chrome 119
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Benchmark engine:
Benchmark.js
map
433K/s
indexOf
49K/s
find
41K/s
filter
30K/s
View exact numbers
Test name
Executions per second
✓
map
433,177 Ops/sec
indexOf
49,421 Ops/sec
find
41,397 Ops/sec
filter
30,091 Ops/sec
Script Preparation code:
let array = []; for (var i=0; i<300; ++i) { array.push('00' + i); } function hasWithFind(needle) { return array.find((entry) => entry == needle) !== undefined; } function hasWithIndexOf(needle) { return array.indexOf(needle) !== -1; } function hasWithFilter(needle) { return array.filter((entry) => entry == needle).length > -1; } let map = {}; array.forEach(item => map[item] = true); function hasWithMap(needle) { return needle in map; }
Tests:
find
for (var i=0; i<100; ++i) { hasWithFind('404'); }
indexOf
for (var i=0; i<100; ++i) { hasWithIndexOf('404'); }
filter
for (var i=0; i<100; ++i) { hasWithFilter('404'); }
map
for (var i=0; i<100; ++i) { hasWithMap('404'); }