Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

¡No hay ingredientes repetidos aquí! + DUDA

Este sería el resultado, sin embargo tengo una duda, al ingresar un valor como "Papa" y "papa" no distingue mayúsculas de minúsculas y lo toma como un ingrediente diferente, cómo se podría mejora en ese caso?

<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 existe = false;

    for(var posicion = 0; posicion < ingredientes.length; posicion++) {
      if(ingredientes[posicion] == ingrediente){
        existe = true;
    alert("Ha repetido el ingrediente " + ingrediente);
        break;
      }
     }

     if(existe == false) {
      ingredientes.push(ingrediente);
      contador++;
     }
   }

   console.log(ingredientes);

</script>
1 respuesta

¡Hola Egiber!

Entiendo tu duda. En este caso, para evitar que se consideren como ingredientes diferentes palabras que solo difieren en mayúsculas y minúsculas, puedes convertir todas las entradas a minúsculas o a mayúsculas antes de compararlas. De esta manera, todas las entradas estarán en el mismo formato y no habrá problemas de distinción.

Para convertir todas las entradas a minúsculas, puedes utilizar el método toLowerCase() de JavaScript. Por ejemplo:

var ingrediente = prompt("Informe el ingrediente " + contador).toLowerCase();

De esta manera, todas las entradas se convertirán a minúsculas antes de ser comparadas en el ciclo for.

Espero que esto te ayude a resolver tu duda. ¡Buenos estudios!