2011-09-16 96 views
6

如果我有在Python列表,我可以檢查給定值是否是使用所述操作者in它:JavaScript數組是否與Python的「如果列表中的內容」等效?

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

>>> 'a' in my_list 
True 

>>> 'd' in my_list 
False 

如果非要在JavaScript中,例如陣列

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

我可以檢查值是否在它以類似的方式Python的in運營商,還是我通過陣列需要循環?

+0

換句話說,我問[這個問題](http://stackoverflow.com/questions/1529986/ ruby-methods-equivalent-of-if-a-in-list-in-python),但對於JavaScript而不是Ruby。 –

+2

有點像'indexOf'? – 6502

+2

可能的重複:http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – mouad

回答

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

如果沒有找到的元素,您會收到-1

+0

好東西。它可以在所有瀏覽器中工作嗎? –

+1

在現代瀏覽器中,是的,但較老的互聯網瀏覽器不支持它。這裏有一個關於它的問題(和解決方法): 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'); 
相關問題