我有一个两级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)
返回undefined
= /
有什么想法吗?
答案 0 :(得分:6)
最准确的方法是
if ("alpha" in regexDefs)
{
}
即使alpha
是假名,例如0
,null
,NaN
,false
等,也会评估为真。
您可以对变量执行相同的操作:
var key = "alpha";
if (key in regexDefs)
{
}
答案 1 :(得分:3)
只是做:
if (regexDefs[key]) {
// Present.
} else {
// Not present.
}
要了解有关JSON的更多信息,我可以向您推荐Mastering JSON。
答案 2 :(得分:2)
if (regexDefs['alpha']) {
// alpha exists in regexDefs
});
答案 3 :(得分:2)
如果密钥存储在名为key的变量中,则可以使用以下内容:
if(regexDefs[key]) {
// do your thing
}