Oi João, tudo bem? 😊
Sim, é possível resolver esse exercício sem usar o for
, utilizando métodos de array como find
ou filter
.
O problema no seu código é que você está tentando acessar o índice i
dentro da função verificarNumero
, mas i
não está definido nesse escopo. Além disso, o método includes
já retorna um booleano indicando se o número está no array, então você não precisa combiná-lo com condicionais dessa forma.
Aqui está uma sugestão de como você pode resolver o problema usando o método find
:
const numeros = [10, 6.5, 8, 7.5];
function verificarNumero(num) {
const numeroEncontrado = numeros.find(numero => numero === num);
if (numeroEncontrado !== undefined) {
console.log(`O valor é: ${numeroEncontrado}`);
} else {
console.log(-1);
}
}
verificarNumero(8);
verificarNumero(2);
Nesse código, o find
tenta encontrar o número no array. Se encontrar, numeroEncontrado
será o número; caso contrário, será undefined
. Assim, você pode verificar se o número foi encontrado e imprimi-lo.
Outra forma de resolver o problema, é utilizando o indexOf
para verificar se o número existe no array, e caso exista, retornar o número, caso contrário, retornar -1:
const numeros = [10, 6.5, 8, 7.5];
function verificarNumero(num) {
const indice = numeros.indexOf(num);
if (indice !== -1) {
console.log(`O valor é: ${numeros[indice]}`);
} else {
console.log(-1);
}
}
verificarNumero(8);
verificarNumero(2);
Espero que isso ajude! Se tiver mais dúvidas, pode perguntar. 🤗
🎓 Para saber mais:

Caso este post o tenha ajudado,
marque-o como solucionado ☑️.Bons Estudos! 🤓