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)
1
respuesta

[Duda]Como iterar una lista para imprimirla

<meta charset="UTF-8">

<h1>Recetas</h1>

<script>
    function saltarLinea(){

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

    };
    function imprimir(frase){

        document.write(frase);
        saltarLinea();
    };

    function agregarIngredientes (cantidad) {
        var ingrediente = [];
        var contador = 1;

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

            for (var posicion = 0; posicion < ingrediente.length; posicion++) {

                if (wIngrediente == ingrediente[posicion]){
                    repetido = true;
                    alert("Se ingreso un elemento repetido, volver a ingresar")
                    break;                
                };
            }
            if (repetido == false) {                    
                    ingrediente.push(wIngrediente);
                    contador++;
                };
            };

        return ingrediente;

    };

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


    for(var i = 0; i < ingredientes.length; i++)
        {
            imprimir((i+1)+"° "+ingredientes[i]);
        };


    console.log(ingredientes);

</script>

Hola buenas tardes

Estoy tratando de que me imprima la lista de ingredientes de esta manera: 1° ingrediente1 2° ingrediente2 pero sin embargo no me itera el array con el bucle for y me imprime toda la lista asi: 1° ingrediente1, ingrediente2. estuve mucho rato mirando que podría ser pero no logro dar con la solución

1 respuesta
solución!

Compañero cordial saludo, lo que sucede es que estas realizando doble push, la función se debe llamar con el parámetro:

    // ingredientes.push(agregarIngredientes(cantidad)) // no es necesario

    var ingredientes = agregarIngredientes(cantidad); // llamada correcta a la funcion

    console.log(ingredientes);

    for(var i = 0; i < ingredientes.length; i++)
        {
            imprimir((i+1)+"° "+ingredientes[i,i]);
        };