我有一个两级JSON对象

例如:

var regexDefs = {

  "alpha": {
    "regex": /^[A-Z]+$/,
    "errMsg": "Alpha Only"
  }
}


我想做一些类似于在数组中搜索键的事情。

(使用jQuery的inArray)

var key = "alpha";
alert($.inArray(key,regexDefs));


如果键在数组中,那么我想做

if(regexDefs[key].regex.test){ return true; }


我知道可能缺少一些时髦的东西,因为这是一个对象而不是数组...

在做

$.inArray(key,regexDefs)


返回未定义

= /

有什么想法吗?

最佳答案

最准确的方法是

if ("alpha" in regexDefs)
{
}


即使alpha是虚假的值(例如0nullNaNfalse等),也会评估为true。

您可以对变量执行相同的操作:

var key = "alpha";
if (key in regexDefs)
{
}

09-11 13:40