Run details:
Mozilla/5.0 (Linux; Android 10; Redmi Note 9 Pro Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36
Chrome Mobile 85
Android
Mobile
4 years ago
Test name Executions per second
reduce 3.8 Ops/sec
for 98.6 Ops/sec
Script Preparation code:
AخA
 
var ppl = []
for(var i=0; i<20000; i++) {
    ppl.push({ id: i, name: i+"" }) 
}
Tests:
  • reduce

     
    var byId = ppl.reduce((stored, current) => ({ ...stored, [current.id]: current }), {});
  • for

     
    var byId = {}
    for(var i=0;i<ppl.length;i++) {
      byId[ppl[i].id] = ppl[i]
    }