// Saulo, bom dia! // Meu código ficou assim, inclusive incluí um alerta orientando que seja inserido novo ingrediente.
<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<script type="text/javascript">
var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
var contador = 1;
while( contador <= quantidade) {
var ingrediente = prompt("Informe o ingrediente " + contador);
var achou = false;
for (var i = 0; i < ingredientes.length; i++) {
if (ingrediente == ingredientes[i]) {
achou = true;
break;
}
}
if (achou !== true) {
ingredientes.push(ingrediente);
contador++;
}else {
alert("Ingrediente já existe, Favor inserir outro!");
}
}
console.log(ingredientes);
</script>
Mande o código, para apreciação.
Perdão acabei postando de maneira errada pensei que o código tinha sido postado.
<meta charset = "UTF-8">
<script>
function sortear (){
return Math.round(Math.random()* 10);
}
function sortearNumeros(quantidade){
var numerosMaquina = [];
var numeros = 1;
while ( numeros <= quantidade){
var numAleatorio = sortear();
var numRepetido = false;
if (numAleatorio !== 0){
for (var posicao = 0; posicao < numerosMaquina.length; posicao++){
if (numerosMaquina[posicao] == numAleatorio ){
numRepetido = true
break
}
}
if (numRepetido == false){
numerosMaquina.push(numAleatorio);
numeros++;
}
}
}
return numerosPensados;
}
var numerosPensados = sortearNumeros(3);
var input = document.querySelector("input");
input.focus();
function resposta (){
var achou = false
for(var posicao = 0; posicao < numerosMaquina.length; posicao++) { // é dito que o erro está aqui, e vem com esta mensagem: "Uncaught ReferenceError: numerosMaquina is not defined"
if ( input.value == numerosPensados[posicao]){
alert("boa de primeira acertou um dos numeros.");
achou = true;
break;
}
}
if (achou == false){
alert("você errou, tente novamente.");
}
input.value = " ";
input.focus();
}
var button = document.querySelector("button");
button.onclick = resposta;
console.log(numerosPensados);
</script>
Você declarou a variavel numerosMaquina dentro da função sortearNumeros(), logo ela só pode ser vista dentro desta função. Experimente declarar ela fora de qualquer função, isso vai permitir que ela seja visivel a todas.
Por que o professor, na aula "Manipulando Arrays" coloca a variavel dentro da função e funcionou?
Eu coloquei a variavel fora na função e deu certinho mas me ficou está duvida.
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
if (numeroAleatorio !== 0) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if (achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
Em sortearNumeros()
você está retornando numerosPensados
ao invés de numerosMaquina
.
Em resposta()
você está usandonumerosMaquina.length
, acredito que seja numerosPensados.length
.
Nesse exemplo, funciona por que ele usa o return da função para "extrair" esse array dessa função, com o return ele consegue atribuir esse array a outra variavel fora da função, permitindo assim usar seu valor
muito obrigado pessoal ajudaram muito :)