# data[].attributes.body
Es un proceso en el que una función se llama a si misma de forma repetida hasta cumplir cierta condición de salida.

Existen 2 tipos: Directa e Indirecta.

*Recursividad  directa es cuando la función se llama a si misma.

*Recursividad indirecta es cuando la función se llama a si misma mediante una segunda función que hace uso de la primera.

# data[].attributes.body
**Ventajas
1- Solución compacta
2- Reutilizar variables y métodos las veces que se requiera
**Desventajas
1- Necesita mucha memoria
2- Loop infinito

# data[].attributes.body
1- El procedimiento se llama a sí mismo
2- El problema se resuelve, tratando el mismo
problema pero de tamaño menor
3- La manera en la cual el tamaño del problema
disminuye asegura que el caso base
eventualmente se alcanzará.

# data[].attributes.body
Esta muy asociada a la recursividad:

Esta consiste en encontrar soluciones enumerándolas.

Después se van probando cada una de estas alternativas hasta que se encuentre una solución.

Si no funciona esa solución se puede dar marcha atrás y probar con otra solución.