2011-09-16 13 views
6

Se ho una lista in Python, posso controllare se il valore è in esso utilizzando l'in esercente:Gli array JavaScript hanno un equivalente di "if a in list" di Python?

>>> my_list = ['a', 'b', 'c'] 

>>> 'a' in my_list 
True 

>>> 'd' in my_list 
False 

Se ho un array in JavaScript, ad esempio

var my_array = ['a', 'b', 'c']; 

posso controllare se un valore è in essa in un modo simile a operatore di Python in, o devo collegare attraverso la matrice?

+0

In altre parole, io sto chiedendo [questa domanda] (http://stackoverflow.com/questions/1529986/ ruby-methods-equivalent-of-if-a-in-list-in-python), ma per JavaScript invece di Ruby. –

+2

qualcosa come 'indexOf'? – 6502

+2

possibile duplicato: http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – mouad

risposta

9
var my_array = ['a', 'b', 'c']; 
alert(my_array.indexOf('b')); 
alert(my_array.indexOf('dd')); 

se l'elemento non trovato, si riceverà -1

+0

Roba buona. Funziona in tutti i browser? –

+1

Nel browser moderno, sì, ma i vecchi esploratori di Internet non lo supportano. Ecco una domanda a riguardo (e la soluzione alternativa): http://stackoverflow.com/questions/2790001/fixing-javascript-array-functions-in-internet-explorer-indexof-foreach-etc –

1
var IN = function(ls, val){ 
    return ls.indexOf(val) != -1 ? true : false; 
} 

var my_array = ['a', 'b', 'c']; 
IN(my_array, 'a'); 
Problemi correlati