在javascript或jquery中有PHP array_key_exists的等价物

Kan*_*iya 17 javascript php jquery

可能重复:
检查Javascript中是否存在关联数组键

我有一个PHP代码块.出于某种目的,我将其转换为JavaScript块.

我有PHP

if(array_key_exists($val['preferenceIDTmp'], $selected_pref_array[1]))
Run Code Online (Sandbox Code Playgroud)

现在我想在jQuery中这样做.有没有内置功能来做到这一点?

Fla*_*ash 10

请注意,对象(具有命名属性)和关联数组在javascript中是相同的.

您可以使用hasOwnProperty检查对象是否包含给定属性:

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  
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用:

if (prop in object)
Run Code Online (Sandbox Code Playgroud)

细微差别在于后者检查原型链.


Bri*_*ian 6

在 Javascript 中....

if(nameofarray['preferenceIDTmp'] != undefined) {
    // It exists
} else {
    // Does not exist
}
Run Code Online (Sandbox Code Playgroud)

  • 你想用 === 或 !== 检查 undefined 否则你会得到 null 和 false 的误报。 (2认同)