Script Preparation code:
x
 
var itemCount = 1000
var items = new Array(itemCount)
for (var i = itemCount - 1; i >= 0; i--) {
  items[i] = { id: i, data: 920501 }
}
Tests:
  • for loop

     
    const itemsById = {}
    for (let i = items.length - 1; i >= 0; i--) {
      itemsById[items[i].id] = items[i]
    }
  • for-of loop

     
    const itemsById = {}
    for (const item of items) {
      itemsById[item.id] = item
    }
  • reduce

     
    const itemsById = items.reduce((result, item) => {
      return { ...result, [item.id]: item }
    }, {})
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    for loop
    for-of loop
    reduce

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
Chrome 100 on Linux
View result in a separate tab
Test name Executions per second
for loop 5578.1 Ops/sec
for-of loop 62593.4 Ops/sec
reduce 2402.9 Ops/sec