2
respuestas

Duda en el ciclo FOR

Hola. Me genera dudas el ciclo FOR, porque al hacer posicion < secretos.length la posición arranca en 0 y el array también, por lo que no entra en el loop y suma una posición. Pero, al ir incrementando la posición del loop e ir agregando elementos en el array, se supone que siempre coinciden. Lo que haría que nunca entre al loop para verificar la condición del IF. También intente hacerlo con dos FOR, pero no se por que, cuando agrega los elementos, en ocasiones agrega 2 o 3 elementos, y en ocasiones 4. Por una cuestión de que encontrado es true y no me agrega elementos repetidos.

2 respuestas
function sortearNumeros(cantidad)
    {
        var secretos = [];

        for(var i = 1; i <= cantidad; i++)
        {
            var numeroAleatorio = aleatorio();
            var encontrado = false;

            if (numeroAleatorio != 0) 
            {
                for(var posicion = 0; posicion < secretos.length; posicion++)
                {
                    if (numeroAleatorio == secretos[posicion]) 
                    {
                        encontrado = true;
                        break;
                    }
                }

                if (encontrado == false) 
                {
                    secretos.push(numeroAleatorio);    
                }
            }

        }

        return secretos;
    }

Hola Pablo, espero que estés bien.

Disculpa la demora en contestarte.

Estaba revisando tu código, pero sin el código completo es díficil entender algunas cosas.

Lo que te recomiendo es que revises el video y todo lo que hizo el profe, para ver lo qué no te funcionó bien: https://app.aluracursos.com/course/logica-de-programacion-conceptos-primordiales/task/73410

Si aún no solucionó el problema, por favor, comparte el código completo con nosotros, así podamos ayudarte.

¡Espero tu respuesta!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios