Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola quero verificar se string contem no array fiz o seguinte porem nao funciona
var respostascertas= ['short',
'2',
'nose',
'eyes',
'mouth',
'dividir',
'somar',
'Mais',
'menos'];
function verifica(ite) {
alert(ite)
if(respostascertas.indexOf(ite)) {
alert("SIM")
} else {
alert("NAO")
}
}
[\code]
sempre mostra SIM independente dao valor da variavel ite, se variavle ite estiver no array SIM senao NAO mas sempre mostra SIM o que posso fazer ???Altere o seu if para
if(respostascertas.indexOf(ite) != -1)
a função indexOf retorna -1 caso não encontra um resultado.
Pelo que pesquisei, se você verificar um valor do tipo inteiro no Javascript, ele retorna true para qualquer valor diferente de 0 (ou seja numeros negativos como -1), e retorna false para valores igual a 0.
Por isso o resultado -1 está entrando no seu if.
isso ai funcionou perfeito valeu agradeco pela ajuda
Sei qual é o problema, eu adaptei o codigo porque estava rodando direto do node.
O problema é que quando você usa indexOf() ele não faz uma busca dentro do vetor procurando a palavra que voce deu a ele.
Mas quando o indexOf NÃO encontra o valor digitado, ele retorna o -1 .
Por isso a verificação que você deve fazer é igual a que está abaixo.
if (respostascertas.indexOf(ite) == -1)
verifica('claro') // Dentro do parametro vai o que você deseja buscar no vetor.