Boa Tarde!!! Prezado(a) Monitor:
Por gentileza, gostaria de contar com uma ajuda para compreender a dificuldade que me deparo no erro ou argumento lógico ausente no código abaixo que impede a sua execução:
No aguardo!!! Obrigado!!!
Boa Tarde!!! Prezado(a) Monitor:
Por gentileza, gostaria de contar com uma ajuda para compreender a dificuldade que me deparo no erro ou argumento lógico ausente no código abaixo que impede a sua execução:
No aguardo!!! Obrigado!!!
Olá Marco! Tudo bem?
Vamos analisar o seu código para identificar o que pode estar causando o problema.
Função adicionarAmigoSecreto
:
nomes.push(prompt(...))
, mas nomes
não foi definido como um array antes disso. Tente inicializar nomes
como um array vazio: let nomes = [];
.Uso da função sortearAmigo
:
sortearAmigo()
para inicializar nomesAdicionados
, você não está passando nenhum argumento. A função sortearAmigo
espera receber uma lista como argumento.Correção de fluxo:
Aqui está uma versão corrigida do seu código:
function adicionarAmigoSecreto() {
let nomes = [];
let nome;
while (nome !== null) {
nome = prompt('Digite o nome dos seus amigos (ou cancele para terminar):');
if (nome) {
nomes.push(nome);
}
}
return nomes;
}
function sortearAmigo(lista) {
let indice = Math.floor(Math.random() * lista.length);
return lista[indice];
}
// Lista de nomes
let nomesAdicionados = adicionarAmigoSecreto();
console.log('Nomes adicionados:', nomesAdicionados);
// Exemplo de uso
let nomeEscolhido = sortearAmigo(nomesAdicionados);
console.log('Nome aleatório escolhido:', nomeEscolhido);
Espero ter ajudado e bons estudos!
Olá Armando Boa Tarde!!!
Obrigado por seu retorno.
Compreendi o erro e refiz o código, porém, não estou conseguindo executar. Segue abaixo o código corrigido, e qual o erro ainda que impede a execução??? Ah... Desculpe, marquei como solucionado de forma equivocada... Dá me responder sem ter aberto outro tópico, ou seja, ignorar que está solucionado. No aguardo...Muito agradecido!!!