Object.hasOwnProperty vs Object in vs Object[] vs Array.indexOf vs Array.includes vs Set.has 2
Date tested:
2 years ago
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0
Test name
Executions per second
Object.hasOwnProperty
1383059000.0 Ops/sec
Object in
1385706000.0 Ops/sec
Array.indexOf
784039.2 Ops/sec
direct
1570719000.0 Ops/sec
Array includes
1265376.0 Ops/sec
Set has
1381634000.0 Ops/sec
Benchmark definition (click to collapse):
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.hasOwnProperty
object.hasOwnProperty('something' + test)
Object in
('something' + test) in object
Array.indexOf
array.indexOf('something' + test) !== -1
direct
object['something' + test]
Array includes
array.includes('something' + test)
Set has
set.has('something' + test)
Open this result on MeasureThat.net