Script Preparation code:
AخA
 
let array = Array.from({length:4096},(_,i)=>i).sort(() => Math.random() - 0.5)
Tests:
  • Array.reduce()

     
    let object = array.reduce((pool, item, nth) => {
        pool[nth] = item;
        return pool;
    }, {});
  • For loop

     
    let object = {};
    let length = array.length;
    for(let i = 0; i < length; i++) {
      object[i] = array[i];
    }
  • Object.fromEntries() + Object.entries()

     
    let object = Object.fromEntries(Object.entries(array))
  • Object.assign()

     
    let object = Object.assign({},array)
  • Object ...spread

     
    let object = {...array}
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.reduce()
    For loop
    Object.fromEntries() + Object.entries()
    Object.assign()
    Object ...spread

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 5 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Chrome 131 on Windows
View result in a separate tab
Test name Executions per second
Array.reduce() 29225.2 Ops/sec
For loop 24355.0 Ops/sec
Object.fromEntries() + Object.entries() 2106.2 Ops/sec
Object.assign() 1285.9 Ops/sec
Object ...spread 1519.3 Ops/sec