2012-08-02 11 views
7

Duplicar posibles:
Checking if an associative array key exists in Javascript¿Hay un EQUALANT a array_key_exists PHP en javascript o jQuery

Tengo un bloque de código PHP. Para un propósito, estoy convirtiendo esto en un bloque de JavaScript.

tengo PHP

if(array_key_exists($val['preferenceIDTmp'], $selected_pref_array[1])) 

ahora quiero hacer esto en jQuery. ¿Hay alguna función incorporada para hacer esto?

+0

http://stackoverflow.com/questions/1098040/checking-if-an-associative-array-key-exists-in-javascript parece darle una par de opciones – JoshuaWohle

+0

Por favor, consulte esta publicación. http://stackoverflow.com/questions/1098040/checking-if-an-associative-array-key-exists-in-javascript – Vins

+0

Esta pregunta también se trata de una matriz numérica, por lo que no es un objeto JSON. –

Respuesta

6

Tenga en cuenta que los objetos (con propiedades con nombre) y las matrices asociativas son lo mismo en javascript.

Puede utilizar hasOwnProperty para comprobar si un objeto contiene una determinada propiedad:

o = new Object(); 
o.prop = 'exists'; // or o['prop'] = 'exists', this is equivalent 

function changeO() { 
    o.newprop = o.prop; 
    delete o.prop; 
} 

o.hasOwnProperty('prop'); //returns true 
changeO(); 
o.hasOwnProperty('prop'); //returns false 

Como alternativa, puede utilizar:

if (prop in object) 

La sutil diferencia es que este último comprueba la cadena de prototipo.

+0

La pregunta es acerca de las matrices tradicionales también, funciona para Array()? –

1

En Javascript ....

if(nameofarray['preferenceIDTmp'] != undefined) { 
    // It exists 
} else { 
    // Does not exist 
} 
+1

Desea verificar indefinido con === o! == de lo contrario obtendrá falsos positivos para nulo y falso. –

Cuestiones relacionadas