2012-08-02 9 views
7

Eventuali duplicati:
Checking if an associative array key exists in Javascriptc'è un equalant a array_key_exists PHP in JavaScript o jQuery

Ho un blocco di codice PHP. Per uno scopo sto convertendo questo in un blocco JavaScript.

devo PHP

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

ora voglio farlo in jQuery. C'è qualche funzione integrata per fare questo?

+0

http://stackoverflow.com/questions/1098040/checking-if-an-associative-array-key-exists-in-javascript sembra dare un paio di opzioni – JoshuaWohle

+0

Si prega di fare riferimento a questo post. http://stackoverflow.com/questions/1098040/checking-if-an-associative-array-key-exists-in-javascript – Vins

+0

Questa domanda riguarda anche l'array numerico, quindi non l'oggetto JSON. –

risposta

6

Si noti che gli oggetti (con le proprietà denominate) e gli array associativi sono la stessa cosa in javascript.

È possibile utilizzare hasOwnProperty per verificare se un oggetto contiene una data proprietà:

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 

In alternativa, è possibile utilizzare:

if (prop in object) 

La sottile differenza è che quest'ultimo controlla la catena di prototipi.

+0

La domanda riguarda anche gli array tradizionali, funziona per Array()? –

1

in JavaScript ....

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

Si desidera verificare undefined con === o! == altrimenti si otterranno falsi positivi per null e false. –

Problemi correlati