Pushing elements to an array

Benchmark created on


Setup

Array.prototype.pushAndReturn = function(elem) {
  this.push(elem);
  return this;
}

function pushToArray(arr0, elem) {
  arr0.push(elem);
  return arr0;
}

const arr = [...Array(10000).fill(0).map(x => Math.random())];
let out = [];

Test runner

Ready to run.

Testing in
TestOps/sec
Regular Array.push in for loop
for (let i=0; i<arr.length; i++) {
  out.push(arr[i]);
}
console.log(out);
ready
pushToArray in for loop
for (let i=0; i<arr.length; i++) {
  pushToArray(out, arr[i]);
}
console.log(out);
ready
pushAndReturn in for loop
for (let i=0; i<arr.length; i++) {
  out.pushAndReturn(arr[i]);
}
console.log(out);
ready
spread in reduce
out = arr.reduce((accum, curr) => [...accum, curr], []);
console.log(out);
ready
pushToArray in reduce
out = arr.reduce((accum, curr) => pushToArray(accum, curr), []);
console.log(out);
ready
pushAndReturn in reduce
out = arr.reduce((accum, curr) => accum.pushAndReturn(curr), []);
console.log(out);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.