« Back to Index

Array flatten function written in ES6 syntax

View original Gist on GitHub

flatten-array.js

const flattenTco = ([first, ...rest], accumulator) => 
  (first === undefined)
    ? accumulator
    : (Array.isArray(first))
      ? flattenTco([...first, ...rest])
      : flattenTco(rest, accumulator.concat(first))
  
const flatten = (n) => flattenTco(n, []);
  
console.log(flatten([[1,[2,[[3]]]],4,[5,[[[6]]]]]))