Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Por algun motivo no puedo completar el codigo

Me ayudan a detectar donde puede esta el error en el codigo por favor? Gracias

<script>

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


while (contador <= cantidad) {
    var ingrediente = prompt(agregar() + contador);
    var evaluar = false;
    for (var pos = 0; pos < ingredientes.length; pos++) {
        if (ingrediente == ingredientes[posicion]) {
            evaluar = true;
            alert("Ingredientes :" + ingredientes[posicion]);
            break;
        }
    }
    if (ingrediente == false) {
        ingredientes.push(ingrediente);
        contador++;
    }
}
alert(" ingredientes : " + ingredientes);

</script>
2 respuestas

Buenas tardes te paso mi código para que lo compares, lo que veo en el tuyo es que el segundo if la variable no es "ingrediente" sino "evaluar". Por otro lado cuando declaras la variable ingrediente en el while "agregar no va con paréntesis.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h1>Recetas de Armando</h1>

    <script>

        function saltarLinea() {

            document.write("<br>");
            document.write("<br>");

        }

        function imprimir(frase) {

            document.write(frase);
            saltarLinea();

        }

        var nombreReceta = prompt("Ingresa el nombre de la receta");

        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("Repitió el ingrediente: " + ingrediente);
                    break;

                }
            }

            if (repetido == false) {

                ingredientes.push(ingrediente);
                contador++;

            }

        }

        console.log(ingredientes);

        imprimir("Ingredientes para hacer " + nombreReceta);

        for (var posicionActual = 0; posicionActual < ingredientes.length; posicionActual++) {

            imprimir((posicionActual + 1) + ". " + ingredientes[posicionActual]);
        }

    </script>
</body>

</html>
solución!

Además, en el primer if entre corchetes no va la palabra posición por que al momento de declarar la variable lo hiciste con la palabra "pos". Con esos cambios el código funciona bien. Espero que te sea de ayuda. Saludos!!