Achatar o array aninhado
Você recebe um array aninhado, como este:
[1, [2, 3], [4, [5, 6]], [7, [8, [9, 0]]]]Retorne um novo array unidimensional que contenha todos os valores que não sejam arrays, na mesma ordem da esquerda para a direita. Os arrays podem estar aninhados em qualquer profundidade.
Exemplos
Program.flatten(new Object[] { new Object[] { 6, 7 }, new Object[] { 4, 5 } }); // ➞ new Object[] { 6, 7, 4, 5 }
Program.flatten(new Object[] { new Object[] { new Object[] { new Object[] { new Object[] { new Object[] { "cat" } } } } } }); // ➞ new Object[] { "cat" }
Program.flatten(new Object[] { new Object[] { 3, new Object[] { 5, 6 } }, new Object[] { 9, 3 } }); // ➞ new Object[] { 3, 5, 6, 9, 3 }
Program.flatten(new Object[] { 1, new Object[] { 2, 3 }, new Object[] { 4, new Object[] { 5, 6 } }, new Object[] { 7, new Object[] { 8, new Object[] { 9, 0 } } } }); // ➞ new Object[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }Notas
- Preserve a ordem de todos os valores.