我有一个两级JSON对象
EX:
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
是一个虚假值,例如0
,null
,NaN
,false
等,这也将计算为真
您可以对变量执行相同操作:
var key = "alpha";
if (key in regexDefs)
{
}
只需:
if (regexDefs[key]) {
// Present.
} else {
// Not present.
}
要了解有关JSON的更多信息,我可以推荐您Mastering JSON。
if (regexDefs['alpha']) {
// alpha exists in regexDefs
});
如果密钥存储在名为key的变量中,则可以使用类似以下内容的东西:
if(regexDefs[key]) {
// do your thing
}