Array loop vs foreach vs map vs while
Date tested:
7 months ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15
Test name
Executions per second
foreach
16.8 Ops/sec
for
14.1 Ops/sec
map
32.7 Ops/sec
while
14.1 Ops/sec
Benchmark definition (click to collapse):
Script Preparation code:
var arr = []; for (var i = 0; i < 1000000; i++) { arr[i] = i; } function someFn(i) { return i * 3 * 8; }
Tests:
foreach
arr.forEach(function (item){ someFn(item); })
for
for (var i = 0, len = arr.length; i < len; i++) { someFn(arr[i]); }
map
arr.map(item => someFn(item))
while
let i = 0, len = arr.length; while (i<len) { someFn(arr[i]); i++; }
Open this result on MeasureThat.net