Run details:
Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
Firefox 72
Linux
Desktop
5 years ago
Test name Executions per second
for 63837064.0 Ops/sec
for of 11966525.0 Ops/sec
for in 465166.2 Ops/sec
forEach 52949188.0 Ops/sec
for 2 66864772.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];
    }