首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效地检查在Javascript“字典”对象中是否存在键值对

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

Stack Overflow用户
提问于 2013-12-19 05:50:01
回答 3查看 33.6K关注 0票数 8

给定:

代码语言:javascript
复制
        var dic = {1: 11, 2: 22}

如何检验(1,11)是否存在?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-19 05:51:41

大多数情况下非常简单,使用

代码语言:javascript
复制
if (dic[1] === 11)

有一点需要注意:如果您要查找的值是undefined,这是行不通的,因为它不能区分{ 1: undefined }{}。在这种情况下,您需要更详细的测试

代码语言:javascript
复制
if ('1' in dic && dic[1] === undefined)
票数 10
EN

Stack Overflow用户

发布于 2013-12-19 05:54:11

如果您需要检查这两个键是否存在,并且有一个值,那么下面这段代码效果最好:

代码语言:javascript
复制
function hasKeySetTo(obj,key,value)
{
    return obj.hasOwnProperty(key) && obj[key]==value;
}

只有当obj有一个名为key的键,并且该键的值为value时,它才返回true。

票数 14
EN

Stack Overflow用户

发布于 2021-09-14 19:20:27

Nushorn Java script engine中,您还可以

代码语言:javascript
复制
if (dic.0) print('tested for null and key 0 exist')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20669166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档