Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Ingredientes repetidos.

Buen día, quería consultar sobre mi código. Si bien resultó ser muy parecido al que da el instructor en el curso, al repetirse un ingrediente no me aparece el alerta de "Ingrediente repetido". Quería consultar cual podría ser mi error. Dejo mi código debajo.

<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>

    var ingredientes = [];
    var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
    var contador = 1;

    while(contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador++);
        var repetido = false

        for(var posicion = 0; posicion < ingredientes.length; posicion++){
            if(ingredientes[posicion] == ingrediente) {
                repetido = true
                alert("Ingrediente " + ingrediente + "repetido.");
                break;
            }

            if(repetido == false) {
                ingredientes.push(ingrediente);
                contador++;

            }

        } 
    }

    console.log(ingredientes);

</script>
1 respuesta
solución!

Buenos días, te copio tu código corregido. Solo dos detalles que también los deje en el código. El primero, el contador en la declaración de la variable ingrediente no lleva el ++. El segundo, el ultimo if va por fuera del loop "for".

Espero haber sido de ayuda.

Saludos.

<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>

    var ingredientes = [];
    var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
    var contador = 1;

    while (contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador); //en este contador no va ++//
        var repetido = false

        for (var posicion = 0; posicion < ingredientes.length; posicion++) {
            if (ingredientes[posicion] == ingrediente) {
                repetido = true
                alert("Ingrediente " + ingrediente + " repetido.");
                break;
            }

        }
        if (repetido == false) {
            ingredientes.push(ingrediente);
            contador++;

        }
     // La condicion if va por fuera del for//
    }

    console.log(ingredientes);

</script>