¿Qué es la recursividad pura?
Una función recursiva pura contiene todo el código dentro de si misma (sin ayuda de otra), es recursiva y no utiliza una estructura de datos adicionales.
Ejemplo de una función recursiva pura
Escribir una función que reciba un string y retorne el inverso de este sin alterar el valor original.
function revertirString(str) {
if (str.length > 1) {
return revertirString(str.slice(1)) + str[0];
}
return str;
}
Tips para el uso de recursividad pura
-
Para arreglos, utiliza métodos como slice, el operador de dispersión y concat, los cuales hacen copias de los arreglos de forma que estos no mutan.
-
Recuerda que los strings son inmutables, asi que se requiere utilizar métodos como slice, substr o substring para hacer copias de dichos strings.