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



目录
相关文章
|
22天前
|
JavaScript 前端开发
JavaScript遍历数组和对象常用方法总结
以上代码展示了数组和对象的多种遍历方法。对于数组,使用了传统的 `for` 循环、`for...in` 和 ES6 的 `for...of` 进行遍历;对于对象,则通过 `for...in`、`Object.keys()`、`Object.values()` 和 `Object.entries()` 来获取键值对。`for...of` 循环适用于遍历具有迭代协议的数据结构,如数组、字符串等,而对象遍历则更多地依赖于 `Object` 方法来获取其属性集合。
JavaScript遍历数组和对象常用方法总结
|
1月前
|
JavaScript 前端开发 索引
JS遍历数组里数组下的对象,根据数组中对象的某些值,组合成新的数组对象
这篇文章介绍了如何在JavaScript中遍历数组里数组下的对象,并根据对象的某些属性值组合成一个新的数组对象。主要内容包括使用ES6的`for...of`循环来遍历数组对象,然后根据需要提取对象中的属性值,并将它们放入新的对象中,最终形成一个新的对象数组以供使用。
|
1月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
17天前
|
JavaScript 前端开发
JavaScript基础知识-枚举对象中的属性
关于JavaScript基础知识中如何枚举对象属性的介绍。
24 1
JavaScript基础知识-枚举对象中的属性
|
8天前
|
JavaScript 前端开发
JavaScript Boolean(布尔) 对象
Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false)。
26 8
|
18天前
|
JavaScript 前端开发
JavaScript基础知识-对象的基本操作
关于JavaScript对象基本操作的基础知识文章。
27 2
|
17天前
|
JavaScript 前端开发
JavaScript基础知识-对象字面量
文章介绍了JavaScript中对象字面量的创建和使用,包括基本语法、属性赋值以及如何在控制台输出对象属性。
24 0
JavaScript基础知识-对象字面量
|
18天前
|
JavaScript 前端开发 API
Javaweb之javascript的BOM对象的详细解析
BOM为Web开发提供了强大的API,允许开发者与浏览器进行深入的交互。合理使用BOM中的对象和方法,可以极大地增强Web应用的功能性和用户体验。需要注意的是,BOM的某些特征可能会在不同浏览器中表现不一致,因此在开发过程中需要进行仔细的测试和兼容性处理。通过掌握BOM,开发者能够制作出更丰富、更动态、更交互性的JavaWeb应用。
13 1
|
30天前
|
JSON JavaScript 前端开发
JavaScript JSON
JavaScript JSON