Script Preparation code:
AخA
 
var length = 1e3
var arr = Array.from({length},(_,i) => ({id: i, rand: i * Math.random()}));
var target = Math.floor(length * Math.random());
Tests:
  • findIndex

     
    let outIdx1 = arr.findIndex((x) => x.id > target && x.rand > length/3 && Math.random() > .5 );
    /*console.log('findIndex',outIdx1)*/
  • for loop

     
    let outIdx2 = -1
    for (let i = 0; i < arr.length; i++) {
      if (arr[i].id > target && arr[i].rand > length/3 && Math.random() > .5) {
        outIdx2 = i
        break
      }
    }
    /*console.log('for loop',outIdx2)*/
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    findIndex
    for loop

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
Safari 15 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
findIndex 19762.3 Ops/sec
for loop 8085.4 Ops/sec