Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
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
Test name
Executions per second
find
41397.4 Ops/sec
indexOf
49420.9 Ops/sec
filter
30091.1 Ops/sec
map
433176.8 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'); }