AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 42 / 68

Aplanar un array

En esta lección convertirás una lista con listas dentro en una lista plana.

flatten recorre la estructura entera, por profunda que sea, y devuelve un array de un solo nivel. Con un argumento numérico puedes limitar cuántos niveles aplana: flatten(1) solo el primero.

El código de ejemplo aplana una lista con dos niveles de anidamiento.

Conviene pararse a pensar si aplanar del todo es lo que quieres. Si la estructura representa algo —filas de una tabla, agrupaciones por categoría— aplanarla destruye esa información sin dejar rastro. flatten(1) es a menudo la respuesta correcta cuando solo quieres deshacer un nivel de agrupación.

El caso más frecuente en la práctica es el resultado de un map en el que cada elemento produce varios: te queda un array de arrays. Para eso existe flat_map, que hace el map y el aplanado de un nivel en una sola pasada, y es más claro que encadenar los dos.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)