在javascript或jquery中,是否存在与PHP array_key_exists相等的

2022-08-30 15:20:14

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

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

我有 PHP 语言

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

现在我想在jQuery中执行此操作。是否有任何内置函数可以执行此操作?


答案 1

请注意,对象(具有命名属性)和关联数组在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  

或者,您可以使用:

if (prop in object)

微妙的区别在于后者检查原型链。


答案 2

在Javascript....

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