
En este artículo, aprenderás sobre las funciones recursivas en JavaScript y ver cómo funcionan, además de algunos ejemplos simples para ayudarte a comprender mejor su uso.
Introducción a las funciones recursivas en JavaScript
Las funciones recursivas son una técnica de programación en la que una función se llama a sí misma para resolver un problema. En JavaScript, al igual que en otros lenguajes de programación, las funciones recursivas pueden ser utilizadas para resolver problemas complejos de una manera sencilla y fácil de entender.
Las funciones recursiva en JavaScript
Una función recursiva en JavaScript se caracteriza por llamarse a sí misma dentro de su propia definición. Esta técnica es muy útil cuando se trata de problemas que pueden ser divididos en subproblemas más pequeños del mismo tipo. Por ejemplo, un problema como el cálculo de la serie de Fibonacci
puede ser resuelto fácilmente mediante una función recursiva
.
Es importante tener en cuenta que toda función recursiva debe tener un caso base, también conocido como condición de salida, que indica cuándo la función debe dejar de llamarse a sí misma. En caso contrario, la función recursiva entraría en un bucle infinito y causaría un error de stack overflow
.
A continuación, te presentamos 3 ejemplos sencillos de funciones recursivas en JavaScript:
Ejemplo del uso de funciones recursivas en JavaScritp para calcular la factorial de un número
function factorial(n) {
if (n === 0) {
return 1;
}
return n * factorial(n - 1);
}
console.log(factorial(5));
// Output: 120
La factorial de un número es el producto de todos los números naturales menores o iguales a ese número. En matemáticas, se representa con el símbolo "!". Por ejemplo, la factorial de 5 (5!) es igual a 5 x 4 x 3 x 2 x 1 = 120. El código de ejemplo que proporcioné utiliza una función recursiva para calcular la factorial de un número dado. La función comprueba primero si el número es igual a 0, en cuyo caso devuelve 1. De lo contrario, devuelve el número multiplicado por la factorial del número anterior. En este caso se está haciendo una llamada recursiva a la función factorial con el valor (n-1
) hasta llegar al caso base que es 0
Ejemplo del uso de funciones recursivas en JavaScritp para calcular la serie de Fibonacci
function fibonacci(n) {
if (n < 2) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
console.log(fibonacci(8));
// Output: 13
La serie de Fibonacci
es una secuencia de números naturales en la que cada número es la suma de los dos anteriores. La serie comienza con 0 y 1 y suele escribirse de la siguiente manera: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... El código de ejemplo que te proporcioné utiliza una función recursiva para calcular el enésimo término de la serie de Fibonacci. La función comprueba primero si el número es menor que 2, en cuyo caso devuelve el número. De lo contrario, devuelve la suma de la función con el valor (n-1
) y la función con el valor (n-2
)
Ejemplo del uso de funciones recursivas en JavaScritp para calcular la suma de n números naturales
function sum(n) {
if (n === 1) {
return 1;
}
return n + sum(n - 1);
}
console.log(sum(5));
// Output: 15
Este ejemplo se refiere a calcular la suma de los números naturales desde 1
hasta n
. El código de ejemplo que proporcioné utiliza una función recursiva para calcular la suma de los números naturales desde 1
hasta n
. La función comprueba primero si el número es igual a 1
, en cuyo caso devuelve 1
. De lo contrario, devuelve el número más la suma de la función con el valor (n-1
). En este caso se está haciendo una llamada recursiva a la función sum con el valor (n-1
) hasta llegar al caso base que es 1
.
Resumen
En conclusión, las funciones recursivas son una técnica poderosa en JavaScript que permite resolver problemas complejos de una manera sencilla y fácil de entender. Hemos visto cómo funcionan y cómo se utilizan, además de algunos ejemplos sencillos que te ayudarán a comprender mejor su uso.
Me gustaría agradecerte por leer este artículo y espero haber sido de ayuda en tu aprendizaje de las funciones recursivas
en JavaScript. Si te ha gustado este artículo, te pediría que lo compartieras con tus amigos y colegas para que también puedan aprender sobre este tema. Asimismo, te invito a dejar tus comentarios o preguntas abajo para que pueda ayudarte más en caso necesario.