Recupera todos arrays e retorna somente um com o valores.
No primeiro método há uma recursividade.
No segundo método, uma conversão para string, split e finalmente converte para um array final de números
Acho que pode ser útil também.
| // https://repl.it/GlpS/0 | |
| const arr = [ | |
| [0, 1], | |
| [2, 3], | |
| [4, 5], | |
| [6, 7, [8, 9, [10, 11, [12, 13], 14, 15, 16, [17, [18, [19, [20]]]]]]] | |
| ]; | |
| const flatten = xs => | |
| Array.isArray(xs) | |
| ? xs.reduce((acc, ys) => acc.concat(flatten(ys)), []) | |
| : xs | |
| flatten(arr) |