【问题标题】:is there an equalant to PHP array_key_exists in javascript or jquery [duplicate]javascript 或 jquery 中是否有与 PHP array_key_exists 相同的值 [重复]
【发布时间】:2012-07-31 08:10:22
【问题描述】:

可能重复:
Checking if an associative array key exists in Javascript

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

我有 PHP

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

现在我想在 jQuery 中执行此操作。有没有内置函数可以做到这一点?

【问题讨论】:

标签: php javascript 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)

细微的差别是后者检查原型链。

【讨论】:

  • 问题是关于传统数组,它也适用于 Array()?
【解决方案2】:

在 Javascript 中......

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

【讨论】:

  • 你想用 === 或 !== 检查 undefined 否则你会得到 null 和 false 的误报。
【解决方案3】:

http://phpjs.org/functions/array_key_exists:323

对于迁移到 js 的 PHP 程序员来说,这是一个很棒的网站。

【讨论】:

    猜你喜欢
    • 2011-09-20
    • 2016-12-09
    • 2016-02-13
    • 2011-06-26
    • 2010-09-13
    • 2010-12-29
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    相关资源
    最近更新 更多