Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Array concat vs spread operator vs push vs push FOR OF vs push FOR vs map vs multi spread 2
Compare the new ES6 spread operator with the traditional concat() method and push
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36
Browser:
Yandex Browser 25
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
push spread
90.0M/s
for push
86.8M/s
for of push
74.5M/s
map push
74.0M/s
spread
73.8M/s
multi spread
53.8M/s
concat
19.7M/s
View exact numbers
Test name
Executions per second
✓
push spread
90,049,864 Ops/sec
for push
86,809,832 Ops/sec
for of push
74,499,160 Ops/sec
map push
73,992,152 Ops/sec
spread
73,753,472 Ops/sec
multi spread
53,819,444 Ops/sec
concat
19,740,202 Ops/sec
Tests:
concat
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ].concat(params);
spread
var params = [ "hello", true, 7 ] var other = [ 1, 2, ...params ]
push spread
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ].push(...params);
for of push
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ]; for (const obj of params) { other.push(obj); };
for push
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ]; const length = params.length for (var i = 0; i < length; i++) { other.push(params[i]); };
map push
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ]; params.map(obj => { other.push(obj); });
multi spread
var params = [ "hello", true, 7 ] var other = [ 1, 2 ] other = [ ...other, ...params ]