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

[Duda] Lógica del código

Buenas, hice el código que pidieron, pero me gustaría que si fuese posible checarán la parte de todos los comentarios que hice en el código para que me digan si si le estoy entendiendo De igual manera apreciaría si me dijeran mejoras o algo que pueda aprovechar

Gracias! :D

<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>
    // Se crea una matriz vacía para almacenar los ingredientes
    var ingredients = [];

    // Pedimos al usuario que ingrese la cantidad de ingredientes que quiere agregar
    var quantity = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));

    // Se define el contador en 1 para el primer ingrediente
    var counter = 1;

    // Se crea un ciclo while que se ejecutará hasta que se hayan agregado todos los ingredientes
    while (counter <= quantity) {
        // Pedimos al usuario que ingrese el ingrediente actual y lo almacenamos en una variable
        var ingredient = prompt("Ingrese el ingrediente " + counter);

        // Inicializamos una variable booleana para verificar si el ingrediente ya existe en la lista, se pone en false para indicar que todavía no existe
        var exists = false;

        // Creamos un ciclo for que recorre la matriz de ingredientes existentes
        for (var position = 0; position < ingredients.length; position++) {
            // Si encontramos un ingrediente que ya está en la lista, cambiamos el valor de la variable exists a true
            if (ingredients[position] == ingredient) {
                exists = true;

                // Mostramos un mensaje de alerta al usuario para informarle que el ingrediente ya existe en la lista
                alert(ingredient + " ya está en la lista de ingredientes. Por favor ingrese otro ingrediente.");

                // Salimos del ciclo for porque no hay necesidad de seguir buscando
                break;
            }
        }

        // Si el ingrediente no existe en la lista, lo agregamos a la matriz, el .push sirve para agregar valores a una array (En este caso agregar ingredientes)
        if (!exists) {
            ingredients.push(ingredient);

            // Incrementamos el contador para pasar al siguiente ingrediente, si se coloca mas arriba, sin la condición if (!exists), se incrementa en cada bucle
            counter++;
        }
    }

    // Imprimimos la lista final de ingredientes en la consola del navegador
    console.log("La lista de ingredientes es la siguiente:");
    console.log(ingredients);
</script>
5 respuestas

En esta parte del código, lo interprete como si el ingrediente no existe en la lista, este se va agregar a la lista y se va a incrementar el contador Esta bien?

// Si el ingrediente no existe en la lista, lo agregamos a la matriz, el .push sirve para agregar valores a una array (En este caso agregar ingredientes)
        if (!exists) {
            ingredients.push(ingredient);

            // Incrementamos el contador para pasar al siguiente ingrediente, si se coloca mas arriba, sin la condición if (!exists), se incrementa en cada bucle
            counter++;
        }

Hola, la parte de los comentarios la veo muy bien y te felicito porque se demuestra que entiendes las funcionalidades del programa y las partes que lo componen.

Cómo pequeño consejo, los comentarios se realizan en aquellas partes del código en donde este no es muy obvio o no es muy fácil de comprender a simple vista, por ejemplo para señalar una variable o una función con un nombre no explicito. Esto permite señalar solo lo mas importante para que tanto tu como quienes vean tu código puedan comprenderlo fácilmente.

Gracias Nataly, se que principalmente se usa para lo que mencionaste, pero me estaba costando entender la lógica detrás del código, no conseguía entenderlo tan fácil, por lo mismo puse tantos comentarios, para entender que hace cada parte del código, ya cuando tenga mas experiencia y le entienda mas fácil, usare los comentarios correctamente jajajajaja.

Conforme a tu pregunta estas en lo correcto, al no existir el elemento dentro del array o la lista, con ayuda del .push se va a agregar y se va a incrementar en el contador para así añadir el siguiente ingrediente a la lista.

Si es normal comentar mucho cuando se va iniciando jsjs, hacía yo mucho eso también porque se me olvidaba para que servían ciertas partes del código o cómo funcionaban, pero conforme se adquiere experiencia es más sencillo comprender e identificar donde es realmente necesario colocar un comentario. Ánimo!!