Arreglo multidimensional en un arreglo unidimensional

Escribe una función recursiva que transforma un arreglo multidimensional en un arreglo unidimensional.

Ejemplos

flatten([[17.2, 500, "code"], "generate"]) ➞ [17.2, 500, "code", "generate"]

flatten([[[[[2, 14, "core"]]], 2, 3, 4]]) ➞ [2, 14, "core", 2, 3, 4]

flatten([["dimension"], "vertical", [["objective"]]]) ➞ ["dimension", "vertical", "objective"]

flatten([[[[[["construct"]]]]]]) ➞ ["construct"]

Notas

  • El arreglo contiene al menos un elemento.
  • Se recomienda ampliamente un enfoque recursivo para resolver este desafío, y es más conveniente que el enfoque iterativo.
  • Puedes encontrar una versión similar de este desafío aquí..
  • Si crees que la recursión es divertida, puedes encontrar una colección de esos desafíos aquí.