Mais
Como descobrir se um array contém uma string específica em JavaScript/jQuery?
Alguém pode me dizer como detectar se "palavra especial"
aparece em um array? Exemplo:
categories: [
"specialword"
"word1"
"word2"
]
564
3
jQuery oferece
$.inArray
:Note que o inArray retorna o índice do elemento encontrado, então
0
indica que o elemento é o primeiro no array. O-1
indica que o elemento não foi encontrado.Editar 3,5 anos depois
O
$.inArray
é efetivamente um wrapper para oArray.prototype.indexOf
em navegadores que o suportam (quase todos eles hoje em dia), enquanto fornece um calço naqueles que não't. É essencialmente equivalente a adicionar um calço ao `Array.prototype', que é uma forma mais idiomática/JSish de fazer as coisas. MDN fornece tal código. Hoje em dia eu tomaria esta opção, ao invés de usar o wrapper jQuery.Editar mais 3 anos depois
Gosh, 6,5 anos?!
A melhor opção para isso no Javascript moderno é "Array.prototype.includes":
Sem comparações e sem resultados confusos `-1'. Ele faz o que queremos: ele retorna "verdadeiro" ou "falso". Para navegadores antigos ele's polyfillable usando o código no MDN.
Aqui tem:
Esta função retorna um inteiro positivo (o índice do array do valor dado), ou
-1
se o valor dado não foi encontrado no array.Demotação em directo: http://jsfiddle.net/simevidas/5Gdfc/
Provavelmente queres usar isto dessa maneira:
Você pode utilizar um laço "para":