Tests:
  • reduce

    x
     
    var flatten = (arr) =>    
        arr.reduce((acc, x) => {
            Array.isArray(x) ? flatten(x).forEach(y => acc.push(y)) : acc.push(x)
            return acc;
        }, [])
    const x = flatten([ [1,2,3], [ [4,5,6], [7,8,9], [[[[[10,11,12]]], [13,14,15]]] ], [[[[[[[[[[[16,17,18]]]]]]]]]]] ]);
  • for of

     
    function flat(argarr) {
      const arr = []
      for (item of argarr) {
        if (Array.isArray(item)) arr.push(flat(item))
        else arr.push(item)
     }
      return arr
    }
    const x = flat([ [1,2,3], [ [4,5,6], [7,8,9], [[[[[10,11,12]]], [13,14,15]]] ], [[[[[[[[[[[16,17,18]]]]]]]]]]] ]);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    reduce
    for of

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Chrome 121 on Windows
View result in a separate tab
Test name Executions per second
reduce 201878.2 Ops/sec
for of 58945.7 Ops/sec