Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Aporte] Programa de los ingrediente y duda comprobación

Hola a todos!

Les comparto mi version del Programa de los ingredientes, me gustaría agregarle alguna comprobación para que le programa pueda identificar cuando el usuario le pone un Valor en Minúscula y mayúscula repetido. Ya que no logré realizarlo.

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

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

        if(ingredientes[posicion] == ingrediente){
            referencia = true;
            alert("Ingrediente repetido " + ingrediente);
            break;
        }

    }


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

   }

document.write("La lista de ingredientes ingresada es: " + ingredientes);
console.log(ingredientes);
</script>
3 respuestas
solución!

¡Hola Nathan! Qué tal?

En Javascript los datos de tipo String poseen un método llamado .toUpperCase() el cuál como su nombre lo indica te devuelve el String en mayúsculas.

Basta con llamar al método al final de tu prompt:

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

De esta forma logras que independientemente de si el usuario ingrese: Harina, harina, HARINA, hArina ó HaRinA el texto se convertirá a HARINA.

Así quedaría tu 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).toUpperCase();
    var referencia = false;

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

        if(ingredientes[posicion] == ingrediente){
            referencia = true;
            alert("Ingrediente repetido " + ingrediente);
            break;
        }

    }


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

   }

document.write("La lista de ingredientes ingresada es: " + ingredientes);
console.log(ingredientes);
</script>

Como información adicional comentarte que también existe el método .toLowerCase() el cual cumplirá la misma función que el anterior explicado, solo que ahora será en minúsculas: harina.

Da igual cuál ocupes, ambos te funcionarán para lo que necesitas :)

Espero haberte ayudado, saludos!

Hola Benjamin!

Esta excelente tu observación, sabía que por ahi habia alguna pero no la encontré!

Te agradezco mucho tu aporte!

Hola Nathan y Benjamín! Comparto la inquietud de Nathan, y excelente el aporte recibido!! Muchas gracias!