Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Chrome 79
Linux
Desktop
5 years ago
Test name Executions per second
for 101955608.0 Ops/sec
for of 55837056.0 Ops/sec
for in 1416836.2 Ops/sec
forEach 149302816.0 Ops/sec
for 2 104512368.0 Ops/sec
while with shift 9786465.0 Ops/sec
while 103834016.0 Ops/sec
Tests:
  • for

    AخA
     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    for (var i = 0; i < arr.length; i++){
        var number = arr[i];
    }
  • for of

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    for (var n of arr){
      var number = n;
    }
  • for in

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    for (var i in arr){
        var number = arr[i];
    }
  • forEach

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    arr.forEach(n => {
      var number = n;
    });
  • for 2

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    for (var i = 0, n = arr.length; i < n; i++){
        var number = arr[i];
    }
  • while with shift

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    while(arr.length) {
        var number = arr.shift();
    }
  • while

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    var i = 0;
    var n = arr.length;
    while(i < n) {
        var number = arr[i];
        ++i;
    }
  • while with length reduction

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    var len = arr.length;
    while (len--) {
        var number = arr[len];
    }
  • for reverse

     
    const arr = [1,2,3,4,5,6,7,8,9,10];
    for (var i = arr.length; i >= 0; --i){
        var number = arr[i];
    }