Tests:
  • reduce + Array.prototype.concat

    AخA
     
    var params = [[ 1, 2 ], [ "hello", true, 7 ]];
    var other = params.reduce((acc, val) => acc.concat(val), []);
  • Array.prototype.flat

     
    var params = [[1, 2, params], [ "hello", true, 7 ]];
    var other = params.flat(1);
  • Custom flat

     
    const flat = (array, depth) => ((Number(depth) > 1) ?
        array.flat(depth) :
        array.reduce((a, v) => a.concat(v), []));
    var params = [[1, 2, params], [ "hello", true, 7 ]];
    var other = flat(params);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    reduce + Array.prototype.concat
    Array.prototype.flat
    Custom flat

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
Chrome 87 on Windows
View result in a separate tab
Test name Executions per second
reduce + Array.prototype.concat 2893541.0 Ops/sec
Array.prototype.flat 590489.2 Ops/sec
Custom flat 1750057.5 Ops/sec