Script Preparation code:
AخA
 
  var object = {},
      array = [],
      i, test = 1000;
  
  for (i = 0; i < 1000; i++) {
   object['something' + i] = true;
   array.push('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] === true
  • Array includes

     
    array.includes('something' + test)
  • Object.prototype.hasOwnProperty.call(this.storeIndex, index)

     
    Object.prototype.hasOwnProperty.call(object, 'something' + test)
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.hasOwnProperty
    Object in
    Array.indexOf
    direct
    Array includes
    Object.prototype.hasOwnProperty.call(this.storeIndex, index)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.16 Safari/537.36
Chrome 99 on Linux
View result in a separate tab
Test name Executions per second
Object.hasOwnProperty 3136243.0 Ops/sec
Object in 2864621.0 Ops/sec
Array.indexOf 854761.6 Ops/sec
direct 2887668.8 Ops/sec
Array includes 860361.2 Ops/sec
Object.prototype.hasOwnProperty.call(this.storeIndex, index) 1823277.8 Ops/sec