Olá Weslley! Tudo joia?
Primeiramente, parabéns por conseguir fazer o exercício funcionar! É sempre bom ver diferentes abordagens para resolver um problema. Vamos dar uma olhada na sua solução e ver se podemos fazer algumas melhorias.
Aqui está o seu código:
let numeros = [1,2,3,4,5,6,7,8,9];
function verificadorDeValor(array, numero){
for (let i = 0; i < array.length; i++) {
if (array[i] === numero){
return `O ${numero} está na posição ${i}`;
}
}
if (i = array.length){
return -1;
}
}
let RetornoDaFunção = verificadorDeValor(numeros, 10);
console.log(RetornoDaFunção);
Agora, vamos fazer algumas observações e melhorias:
Erro na condição do if
fora do loop: A condição if (i = array.length)
está usando um único =
em vez de ===
. Isso faz com que i
seja atribuído ao valor array.length
, o que não é o que queremos. Deveria ser if (i === array.length)
.
A condição if
fora do loop é desnecessária: Como o loop for
percorre todo o array, se o número não for encontrado, a função já deve retornar -1
após o loop.
Aqui está uma versão ligeiramente melhorada do seu código:
let numeros = [1,2,3,4,5,6,7,8,9];
function verificadorDeValor(array, numero){
for (let i = 0; i < array.length; i++) {
if (array[i] === numero){
return `O ${numero} está na posição ${i}`;
}
}
return -1; // Se o número não for encontrado, retorna -1
}
let retornoDaFuncao = verificadorDeValor(numeros, 10);
console.log(retornoDaFuncao);
Essa versão faz exatamente o que a sua faz, mas de uma maneira um pouco mais limpa.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.