如何有效地检查Javascript“词典”对象中是否存在键值对

时间:2013-12-18 21:50:01

标签: javascript jquery object dictionary

假设:

        var dic = {1: 11, 2: 22}

如何测试(1,11)是否存在?

2 个答案:

答案 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。