Hola!
tengo una duda referente a porque mi programa se cicla con el siguiente 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;
var existe = false;
while( contador <= cantidad) {
var ingrediente = prompt("Informe el ingrediente " + contador);
for(var posicion = 0; posicion<ingredientes.length; posicion++){
if (ingrediente==ingredientes[posicion]){
existe = true;
alert("repetido " + ingrediente);
break;
}
}
if (existe == false){
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
</script>
pero si lo pongo de la siguiente manera, se ejecuta correctamente.
<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;
var existe = false;
while( contador <= cantidad) {
var ingrediente = prompt("Informe el ingrediente " + contador);
existe = false
for(var posicion = 0; posicion<ingredientes.length; posicion++){
if (ingrediente==ingredientes[posicion]){
existe = true;
alert("repetido " + ingrediente);
break;
}
}
if (existe == false){
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
</script>
al parecer la variable existe, se pierde su valor asignado de false y se cicla, por lo que tengo que volver a asignarlo en el ciclo while.
por lo demas todo bien, me gusto mucho el curso.
saludos.