Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Firefox 95
Windows
Desktop
10 months ago
Test name Executions per second
Local Variable Access 3907.7 Ops/sec
Direct Array Access 348.0 Ops/sec
Script Preparation code:
x
 
var arr = [
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
    { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" }, { "key": "value" },
]
var newarr1 = []
var newarr2 = []
Tests:
  • Local Variable Access

     
    for (var i = 0; i < arr.length; i++) {
      const el = arr[i]
      for (var j = 0; j < 100; j++) newarr2.push(el)
    }
  • Direct Array Access

     
    for (var i = 0; i < arr.length; i++) {
      for (var j = 0; j < 100; j++) newarr2.push(arr[i])
    }