Test name | Executions per second |
---|---|
reduce (arrow function) | 514073.5 Ops/sec |
for loop | 795703.6 Ops/sec |
forEach | 488203.6 Ops/sec |
reduce | 592101.8 Ops/sec |
// Create an array of 1000 random intergers between 1 and 10000
var arrRandom = [];
for(var intCtr=0; intCtr<1000; intCtr++) {
arrRandom.push(Math.floor(Math.random() * Math.floor(10000)));
}
function doRedeuce(pArray, start) {
return pArray.reduce(function(accum, curr) { return accum + curr; }, start);
}
function doRedeuceArrowFunc(pArray, start) {
return pArray.reduce((accum, curr) => accum + curr, start);
}
function doLoop(pArray) {
var accum = 0;
for(var intCtr=0; intCtr<pArray.length; intCtr++) {
accum += pArray[intCtr];
}
return accum;
}
function doForEach(pArray) {
var accum = 0;
pArray.forEach(function(item){
accum += item;
});
}
var reduceResult=0;
redeuceResult = doRedeuceArrowFunc(arrRandom, 0);
var loopResult=0;
loopResult = doLoop(arrRandom);
var forEachResult=0
forEachResult = doForEach(arrRandom)
var reduceResult=0;
redeuceResult = doRedeuce(arrRandom, 0);