Aplanar una lista

Crea una función que reciba un arreglo que contenga valores primitivos y arreglos anidados a cualquier profundidad. Devuelve un único arreglo plano y unidimensional que contenga todos los valores que no sean arreglos en el mismo orden de izquierda a derecha.

  • Cuando un elemento sea un arreglo, incluye cada uno de sus elementos y aplica la misma regla de forma recursiva.
  • Cuando un elemento no sea un arreglo, inclúyelo sin modificarlo.

Ejemplos

Program.flattenList(new Object[] { 1, "2", new Object[] { 3, new Object[] { 4, 5 }, 6 }, 7, 8 }); // new Object[] { 1, "2", 3, 4, 5, 6, 7, 8 }

Program.flattenList(new Object[] { 1 }); // new Object[] { 1 }

Program.flattenList(new Object[] { }); // new Object[] { }