Por fin entendi la recursividad y la verdad me gusta este concepto, creo que esto me esta gustando mucho mas de lo que espere.
Por fin entendi la recursividad y la verdad me gusta este concepto, creo que esto me esta gustando mucho mas de lo que espere.
¡Hola! Me alegra mucho que hayas entendido el concepto de recursividad y que te esté gustando tanto. La recursividad es una herramienta poderosa en programación y puede ser muy útil en situaciones donde necesitas que una función se llame a sí misma para resolver un problema.
En el contexto de tu curso, parece que estás trabajando en un juego donde necesitas generar números aleatorios y asegurarte de que no se repitan. La recursividad te permite hacer esto de manera eficiente, llamando a la misma función para generar un nuevo número si el número actual ya ha sido sorteado.
Un ejemplo práctico sería:
function generarNumeroSecreto(listaNumerosSorteados) {
let numeroGenerado = Math.floor(Math.random() * 10) + 1; // Genera un número entre 1 y 10
if (listaNumerosSorteados.includes(numeroGenerado)) {
// Si el número ya fue sorteado, llamamos a la función nuevamente
return generarNumeroSecreto(listaNumerosSorteados);
} else {
// Si el número no fue sorteado, lo agregamos a la lista y lo retornamos
listaNumerosSorteados.push(numeroGenerado);
return numeroGenerado;
}
}
let numerosSorteados = [];
console.log(generarNumeroSecreto(numerosSorteados)); // Esto imprimirá un número no repetido
Recuerda que es importante tener una condición de salida para evitar que la recursividad se ejecute indefinidamente, especialmente cuando ya no hay más números disponibles para sortear. En este caso, podrías considerar agregar una verificación para detener el proceso si todos los números posibles ya han sido sorteados.
Espero que sigas disfrutando del aprendizaje de la recursividad y que encuentres muchas maneras de aplicarla en tus proyectos. ¡Espero haber ayudado y buenos estudios!