Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Array include vs object key vs Set has V2
performance comparison of ways to find if an array contains a value
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
Browser:
Firefox 135
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Array.includes()
152235.7 Ops/sec
Object[key]
177884.5 Ops/sec
Set.has()
185267.0 Ops/sec
Script Preparation code:
var reports = (new Array(200)).fill(null).reduce((prev, newVal) => {prev.push({type: Math.random() + ''}); return prev; }, [{ type: 'core' }]); var SERVICES = [{ type: 'core' }, { type: 'foo' },{ type: 'bar' }];
Tests:
Array.includes()
var has; var array = SERVICES.map((service) => service.type); for (report of reports) { if(array.includes(report.type)) { has = true; } }
Object[key]
var has; var object = SERVICES.reduce((result, service) => { result[service.type] = service.type; return result; }, {}); for (report of reports) { if(object[report.type]) { has = true; } }
Set.has()
var has; var set = new Set(SERVICES.map((service) => service.type)); for (report of reports) { if(set.has(report.type)) { has = true; } }