Ir para conteúdo
fabiodurgante

procurar string em array

Recommended Posts

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 ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)
var respostascertas = ['short',
    '2',
    'nose',
    'eyes',
    'mouth',
    'dividir',
    'somar',
    'Mais',
    'menos']


function verifica(ite) {
    console.log(ite)

    if (respostascertas.indexOf(ite) == -1) {  // Caso o parametro nao seja encontrado no vetor, retorna o valor -1, e se esse valor nao existir no vetor, entao da o alerta NAO
        console.log("NAO")
    } else {
        console.log("SIM")
    }

}

verifica('claro')   // Dentro do parametro vai o que você deseja buscar no vetor.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.