Q: Como verificar cada caracter de um array? JavaScript Pessoa, eu estou com este código:


const arrayOne = ['jean','geleia','gean','ea games', 'e1'];

function buscar(){
  arrayOne.forEach(function(valor){
     const teste1 = document.getElementById('valorInput').value;       
      if(teste1 === valor){
        alert (true)
      } else {
        alert(false)
      }
  })  
}
<html>
  <body>
    <input id='valorInput'/> 
    <button onClick='buscar()'> Buscar </button>
    
    <h1 id='resultado'> Resultado </h1>
  </body>
</html>


Eu queria saber como eu faço para que, quando eu digitasse a letra 'a' ele retornasse true nas palavras que existem a letra 'a'?
Alguem poderia me ajudar ?

A: Para saber se um elemento existe dentro de um array ou palavra, pode usar a função indexOf() da seguinte forma:
var array = [2, 5, 9];
var index = array.indexOf(5);

Caso o valor da variável index seja negativo, quer dizer que o elemento não existe dentro do(a) array/palavra.

A: A forma correta é usar indexOf sobre o valor de cada item da array, representado pelo parâmetro valor no forEach:


const arrayOne = ['jean','geleia','gean','ea games', 'e1'];

function buscar(){
  arrayOne.forEach(function(valor){
     const teste1 = document.getElementById('valorInput').value;       
      if(valor.indexOf(teste1) !== -1){
        console.log (true)
      } else {
        console.log (false)
      }
  })  
}
<input id='valorInput'/> 
<button onClick='buscar()'> Buscar </button>

<h1 id='resultado'> Resultado </h1>



A: Você também pode usar o includes:
var s = 'an';
arrayOne.filter(x => x.includes(s)); // ["jean", "gean"]

