Script Preparation code:
AخA
 
var total = [];
var ids = [10000, 14000, 19999];
for (var i = 0; i < 20000; i++) {
  total.push({id: i, value: Math.floor(Math.random() * 1000)});
}
Tests:
  • Filter

     
    total.filter((item) => ids.includes(item.id));
  • Find with default

     
    ids.map((id) => total.find((item) => item.id === id)).filter((item) => !!item) ?? []
  • Find without default

     
    ids.map((id) => total.find((item) => item.id === id))
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Filter
    Find with default
    Find without default

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 OPR/107.0.0.0 (Edition Yx GX)
Opera 107 on Windows
View result in a separate tab
Test name Executions per second
Filter 885.4 Ops/sec
Find with default 28988.6 Ops/sec
Find without default 29012.7 Ops/sec