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.
"use strict"; | |
const arr = [ | |
[0, 1], | |
[2, 3], | |
[4, 5], | |
[6, 7, [8, 9, [10, 11, [12, 13], 14, 15, 16, [17, [18, [19, [20]]]]]]] | |
]; | |
// Metodo 1 | |
const flatten1 = list => list.reduce((pre, pos) => pre.concat(Array.isArray(pos) | |
? flatten1(pos) | |
: pos), []); | |
// Metodo 2 | |
const flatten2 = list => list.toString().split(",").map(Number); | |
console.log(flatten1(arr)); | |
console.log(flatten2(arr)); | |
https://gist.github.com/lubien/4b6bf2fc593a473eaba5f72290b9cd59