Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Recursividad, necesitaria el return o es opcional?

function generarNumeroSecreto() {
    let numeroGenerado =  Math.floor(Math.random()*numeroMaximo)+1;

    console.log(numeroGenerado);
    console.log(listaNumerosSorteados);
    //Si ya sorteamos todos los números
    if (listaNumerosSorteados.length == numeroMaximo) {
        asignarTextoElemento('p','Ya se sortearon todos los números posibles');
        return;   // esta linea la coloque y de la pregunta-
    } else {
        //Si el numero generado está incluido en la lista 
        if (listaNumerosSorteados.includes(numeroGenerado)) {
            return generarNumeroSecreto();
        } else {
            listaNumerosSorteados.push(numeroGenerado);
            return numeroGenerado;
        }
    }
}
1 respuesta

Hola Rene, en este caso no es necesario puesto que ha llegado a la ultima condición o condición base cuando la lista esta llena y no hay mas intentos. Al llegar a esta condición actuaria como una función que no devuelve nada como ya hemos visto y terminaría su ejecución para volver a la ejecución principal. De mi punto de vista, lo recomendable seria colocar un return false; o return -1; para dejar explicito que termino y la lista esta llena. El return; sin parametros devuelve undefined. Y si dejamos la funcion como estaba orignalmente (sin el return) tambien devuelve un undefined si queremos leerla. Saludos, espero haber sido de ayuda.