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) |