javascript - javascript:检查 Json 上的多个嵌套属性
问题描述
我有一个 JSON,我想检查它是否具有以下属性:
json.prop1.prop2.prop3
这个方法可以检查一个属性:json.hasOwnProperty("prop1")
有什么东西可以用来同时检查所有的 prop1、prop2、prop3 吗?
解决方案
使用Babel Optional Chaining插件,您可以做到这一点
json?.prop1?.prop2?.prop3
这类似于
json && json.prop1 && json.prop1.props2 && json.prop1.props2.prop3
使用可选链接的示例
const obj = {
foo: {
bar: {
baz: 42,
},
},
};
const baz = obj?.foo?.bar?.baz; // 42
const safe = obj?.qux?.baz; // undefined
// Optional chaining and normal chaining can be intermixed
obj?.foo.bar?.baz; // Only access `foo` if `obj` exists, and `baz` if
// `bar` exists
// Example usage with bracket notation:
obj?.['foo']?.bar?.baz // 42
推荐阅读
- php - jQuery .load 没有使用保存的 $_SESSION/$_POST 变量
- java - 为什么我的 bin 目录没有填满 .class 文件?
- git - GitLab CI:没有这样的文件或目录:'GIT_SSH_COMMAND=ssh -vvv'
- php - 在 CMS 中使用 PHP 创建和下载干净的 CSV
- java - 使用 equalsIgnoreCase 返回“char 不能被尊重”
- ios - 从 iOS 14 或 14.0.1 开始 WiFi 可以工作,但 LTE 不能
- wordpress - 在 WP Admin 中保存帖子时,Wordpress 简码输出缓冲呈现内容
- javascript - 收到错误“未捕获的类型错误:无法设置未定义的属性‘颜色’”
- typescript - 映射对象数组并引入新属性时出错 - Typescript
- javascript - 从 mongodb 将其作为文档检索后如何获取对象类型?