Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Object.prototype.hasOwnProperty vs Object in vs Object[] vs Array.indexOf vs Array.includes vs Set.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/605.1.15 (KHTML, like Gecko) Version/26.3 Safari/605.1.15
Browser:
Safari 26
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
6 months ago
Benchmark engine:
Benchmark.js
Array includes
225.4M/s
direct
215.2M/s
Set has
214.4M/s
Object in
210.4M/s
Object.prototype.hasOwnProperty
34.8M/s
Array.indexOf
653K/s
View exact numbers
Test name
Executions per second
✓
Array includes
225,415,520 Ops/sec
direct
215,231,936 Ops/sec
Set has
214,400,256 Ops/sec
Object in
210,406,352 Ops/sec
Object.prototype.hasOwnProperty
34,819,856 Ops/sec
Array.indexOf
653,348 Ops/sec
Script Preparation code:
var object = {}, array = [], set = new Set(), i, test = 1000; for (i = 0; i < 1000; i++) { object['something' + i] = true; array.push('something' + i); set.add('something' + i); }
Tests:
Object.prototype.hasOwnProperty
Object.prototype.hasOwnProperty.call(object, 'something' + test)
Object in
('something' + test) in object
Array.indexOf
array.indexOf('something' + test) !== -1
direct
object['something' + test] === true
Array includes
array.includes('something' + test)
Set has
set.has('something' + test)