【发布时间】:2013-12-18 21:50:00
【问题描述】:
给定:
var dic = {1: 11, 2: 22}
如何测试 (1, 11) 是否存在?
【问题讨论】:
标签: javascript jquery object dictionary
给定:
var dic = {1: 11, 2: 22}
如何测试 (1, 11) 是否存在?
【问题讨论】:
标签: javascript jquery object dictionary
如果您需要检查这两个键是否存在,并且有一个值,那么下面的代码效果最好:
function hasKeySetTo(obj,key,value)
{
return obj.hasOwnProperty(key) && obj[key]==value;
}
只有当 obj 有一个名为 key 的键并且该键的值是 value 时,它才会返回 true。
【讨论】:
value 是假的并且对象确实有它怎么办?
大多数时候很简单,用
if (dic[1] === 11)
有一个警告:如果您要查找的值是 undefined,则不会这样做,因为它无法区分 { 1: undefined } 和只是 {}。在这种情况下,您需要更详细的测试
if ('1' in dic && dic[1] === undefined)
【讨论】:
在Nushorn Java script engine你也可以这样做
if (dic.0) print('tested for null and key 0 exist')
【讨论】: