Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

¿Dónde está el error?

¡Hola! Tengo una pregunta, tengo el siguiente código, y no me está funcionando, no entiendo el porqué. Este me sigue agregando los ingredientes repetidos. ¡Un abrazo!

<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 agregar = true;

        for( i= 0; i< ingredientes.lenght; i++){
            if(ingredientes[i] == ingrediente){
                agregar = false;
                break;
            }
        }
        if (agregar == true){
            ingredientes.push(ingrediente);
            contador++;
        }
    }
    document.write('<h4>'+ ingredientes+'</h4>')
    console.log(ingredientes);

</script>
2 respuestas

¡Ya encontré el erro! Vaya, qué lío. Es solo que nunca me estaba entrando al for, ya que en vez de "length", he puesto "lenght". Fue difícil ya que el compilador no me lo reconoció como un error, pero tampoco he encontrado un método "lenght" existente. ¿Por qué no me mostró un error el compilador? (Estoy usando Edge).

¡Un abrazo!

Hola Juan David, es un pequeño error de sintaxis en tu código, en en ciclo for donde escribes el tamaño del indice colocaste ingredientes.lenght y es ingredientes.length es una palabra que lleva a la confusión para nosotros que hablamos en español.