1
resposta

[Dúvida] Exercicio 3 - dúvida

No exercicio 3, eu poderia fazer ele sem a utilização do for?

const numeros = [10, 6.5, 8, 7.5];

function verificarNumero (num) {  
     if (numeros.includes(num)) {
        const indice = numeros.indexOf(num)
        const valor = numeros[i];
        console.log(`O valor é : ${num}`);
    } else {
          console.log(-1);
     }
}

verificarNumero(1);

Pois nesse caso, eu tentei usar as condicionais na função e o includes para verificar se o numero desejado estava dentro do array, porem ainda sim não consegui executar o codigo. Se for chamar algum valor que não está na função, ele funciona, porem nos valores do array ele está constando erro :(

1 resposta

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:

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