Array Shallow Copy

Benchmark created on


Setup

var arrayToCopy = [ "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello", "hello" ];
var shallowCopy = [];

Test runner

Ready to run.

Testing in
TestOps/sec
Array Concat
shallowCopy = arrayToCopy.concat();
ready
Array Slice
shallowCopy = arrayToCopy.slice();
ready
For Loop
for (let i = 0; i < arrayToCopy.length; ++i)
{
  shallowCopy.push(arrayToCopy[i]);
}
ready
For Loop With Declared Length
var arrayLength = arrayToCopy.length;
for (let i = 0; i < arrayLength; ++i)
{
  shallowCopy.push(arrayToCopy[i]);
}
ready
While Loop
let i = arrayToCopy.length - 1;
while (i--)
{
  shallowCopy.push(arrayToCopy[i]);
}
ready
Spread Operator
shallowCopy = [...arrayToCopy];
ready
Slice With Begin
shallowCopy = arrayToCopy.slice(0);
ready
Slice With Begin and End
shallowCopy = arrayToCopy.slice(0, arrayToCopy.length);
ready
For Of Assignment
let i = 0;
for (shallowCopy[i++] of arrayToCopy);
ready

Revisions

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