Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
reduce concat vs flat vs concat spread vs reduce spread
Compare the new ES6 spread operator with the traditional concat() method
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:136.0) Gecko/20100101 Firefox/136.0
Browser:
Firefox 136
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
reduce + Array.prototype.concat
121105.4 Ops/sec
Array.prototype.flat
11416.6 Ops/sec
concat(...)
120132.4 Ops/sec
reduce spread
10538.6 Ops/sec
Script Preparation code:
var params = [ [1, 2], ["hello", true, 7], Array(10000).fill(4), ];
Tests:
reduce + Array.prototype.concat
const x = params.reduce((acc, val) => acc.concat(val), []);
Array.prototype.flat
const x = params.flat(1);
concat(...)
const x = [].concat(...params)
reduce spread
const x = params.reduce((acc, val) => [...acc, ...val], []);