JavaScript 检查一个 JSON 对象中是否对存指这下的 Key

简介: JavaScript 检查一个 JSON 对象中是否对存指定的 Key太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

JavaScript 检查一个 JSON 对象中是否对存指定的 Key

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOSAndroid、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


Actually, checking for undefined-ness is not an accurate way of testing whether a key exists. 

What if the key exists but the value is actually undefined? 

实际上,测试未定义这种结果确实不是一个比较精确的检测键是否存在的有效方法。

var obj = { key: undefined }; 
obj["key"] != undefined

false, but the key exists! 

上面的结果是 false ,但这个键确是存在的。


You should instead use the in operator: 
你应该换用 in 操作:

"key" in obj 

true, regardless of the actual value 

结果是 true,不考虑实际值

If you want to check if a key doesn't exist, remember to use parenthesis: 
如果你想要检查一个键是否不存在,记得使用取反:
!("key" in obj) 

true if "key" doesn't exist in object 

如果键存在于这个对象里,那么结果是 true

!"key" in obj
ERROR! Equivalent to "false in obj" 

这个有错!等于 "false in obj" 


Or, if you want to particularly test for properties of the object instance (and not inherited properties), use hasOwnProperty: 

或者,如jusi你特别想检测一下对象实际的属性(并非继承的属性),那么使用 hasOwnProperty:

obj.hasOwnProperty("key") 

true

这个测试的结果是 true



目录
相关文章
|
18天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
21 3
|
21天前
|
JavaScript 前端开发 开发者
JavaScript的`Math`对象
【4月更文挑战第21天】JavaScript的`Math`对象
18 3
|
1天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
7 1
|
1天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
6 2
|
5天前
|
存储 JavaScript 前端开发
JavaScript对象方法详解
JavaScript对象方法详解
14 1
|
6天前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
10 1
|
12天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
12天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
12天前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
12天前
|
JavaScript 前端开发
JavaScript 日期对象
JavaScript 日期对象