假设:
var dic = {1: 11, 2: 22}
如何测试(1,11)是否存在?
答案 0 :(得分:9)
大部分时间非常简单,
if (dic[1] === 11)
有一点需要注意:如果您要查找的值为undefined
,则无法执行此操作,因为它无法区分{ 1: undefined }
和{}
。在这种情况下,您需要更详细的测试
if ('1' in dic && dic[1] === undefined)
答案 1 :(得分:7)
如果你需要检查密钥是否存在,并且有一个值,下面的代码将最有效:
function hasKeySetTo(obj,key,value)
{
return obj.hasOwnProperty(key) && obj[key]==value;
}
如果obj
有一个名为key
的密钥且该密钥的值为value
,则只会返回true。