1
respuesta

Recetas armando - usando métodos para manipular arrays

Espero les sirva de ayuda este fácil método que reduce la cantidad de código.

<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);

        if (ingrediente != ingredientes.find(elemet => elemet == ingrediente)) {
            ingredientes.push(ingrediente);
        }




        contador++;
    }

    console.log(ingredientes);

</script>
1 respuesta

Es una buena forma de acortar el código, no tenía tan presente el método find. Por lo que veo funciona como un forEach, lo digo por lo que recibe una función flecha. Lo revisaré para conocerlo mejor.

Adicional a esto creo que sería bueno indicar que no se permiten ingredientes repetidos. Solo por la experiencia del usuario. Algo así:

<script>

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

while (contador <= cantidad) {
  let ingrediente = prompt("Informe el ingrediente número " + contador);

  ingredientes.includes(ingrediente.toLowerCase())
    ? alert(`Ese ingrediente ya está. No se puede repetir.`)
    : (ingredientes.push(ingrediente.toLowerCase()), contador++);
}

</script>