Script Preparation code:
x
 
var arr = []
for (i = 0; i < 100; i++) {
    arr.push({})
}
var item = arr[arr.length / 2]
Tests:
  • findIndex, splice

     
    const newArr = Object.create(arr)
    newArr.splice(
      newArr.findIndex(i => i === item),
      1)
  • filter

     
    const newArr = Object.create(arr)
    newArr.filter(i => i !== item)
  • indexOf, splice

     
    const newArr = Object.create(arr)
    newArr.splice(
      newArr.indexOf(item),
      1)
  • indexOf, splice, check

     
    const newArr = Object.create(arr)
    const index = newArr.indexOf(item)
    if (index !== -1) {  
        newArr.splice(index, 1)
    }
  • for, splice

     
    const newArr = Object.create(arr)
    for (i = 0; i < newArr.length; i++) {
      if (newArr[i] === item) {  
        newArr.splice(i, 1)
        break
      }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    findIndex, splice
    filter
    indexOf, splice
    indexOf, splice, check
    for, splice

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 6 months ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15
Safari 18 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
findIndex, splice 348938.2 Ops/sec
filter 180772.8 Ops/sec
indexOf, splice 609762.2 Ops/sec
indexOf, splice, check 539156.6 Ops/sec
for, splice 292076.8 Ops/sec