2011-09-16 13 views
6

Si tengo una lista en Python, puedo comprobar si un valor dado está en él usando el in operador:¿Los arreglos de JavaScript tienen un equivalente de "si en la lista" de Python?

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

>>> 'a' in my_list 
True 

>>> 'd' in my_list 
False 

Si tengo una matriz en JavaScript, por ejemplo

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

puedo comprobar si un valor está en él de una manera similar a la del operador de Python in, o tengo que colocar a través de la matriz?

+0

En otras palabras, estoy pidiendo [esta cuestión] (http://stackoverflow.com/questions/1529986/ ruby-methods-equivalent-of-if-a-in-list-in-python), pero para JavaScript en lugar de Ruby. –

+2

algo así como 'indexOf'? – 6502

+2

posible duplicado: http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – mouad

Respuesta

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

si no se encuentra el elemento, recibirá -1

+0

cosas buenas. ¿Eso funciona en todos los navegadores? –

+1

En un navegador moderno, sí, pero los exploradores de Internet más antiguos no lo admiten. Aquí hay una pregunta al respecto (y la solución 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'); 
Cuestiones relacionadas