Aplanar una lista

Crea una función que reciba un arreglo. Este arreglo puede contener todo tipo de valores primitivos, incluso otros arreglos. La función debe devolver un arreglo único, plano y unidimensional con todos los elementos. Estas son las condiciones:

  1. Si el elemento es un arreglo, incluye cada elemento que contiene y sigue aplicando lo siguiente:
  2. Si el elemento es un valor primitivo, inclúyelo tal como está.

Ejemplos

flattenArray([1, 2, [3, [4, 5], 6], 7, 8]) ➞ [1, 2, 3, 4, 5, 6, 7, 8]

flattenArray([1]) ➞ [1]

flattenArray([]) ➞ []