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

06 ¡No hay ingredientes repetidos aquí! - Una mejora usando dos conceptos nuevos Set y el Spread Operator

Código

<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>
    let ingredientes = [];

    // ! Set establece un conjunto de elementos unicos
    const lista_ingredientes = new Set();

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

    while( lista_ingredientes.size < cantidad ) {
        var ingrediente = prompt("Informe el ingrediente");
        lista_ingredientes.add( ingrediente );
    }

    // ! Convertimos el conjunto en un arreglo (Opcional)
    ingredientes = [ ...lista_ingredientes ];   // Usamos el spread operator para propagar los elementos dentro de un arreglo
    console.log( ingredientes );

</script>

Hago uso de la clase Set que al igual que un Array me permite insertar elementos, pero en este caso si el elemento ya existe no lo inserta, con esa implementación me ahorro tener que hacer condiciones e interaciones para validar que el elemento ingresado no se repita.

3 respuestas

Muy interesante alternativa, gracias por el aporte compañero.

interesante tu logica

Con gusto Luis, son cositas que se van aprendiendo en el camino... Muchas gracias Manuel por el comentario :)

Solo mirando leyendo el código de otros aprendemos a pensar de otras formas diferentes a las que resolvemos las cosas tradicionalmente y pues yo si que he aprendido mucho de las practicas de otros.

Saludos a ambos, feliz final de domingo!