javascript:检查 Json 上的多个嵌套属性

我有一个 JSON,我想检查它是否具有以下属性:

json.prop1.prop2.prop3

这个方法可以检查一个属性:json.hasOwnProperty("prop1")

有什么东西可以用来同时检查所有的 prop1、prop2、prop3 吗?


智慧大石
浏览 170回答 3
3回答

慕标琳琳

使用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; // 42const safe = obj?.qux?.baz; // undefined// Optional chaining and normal chaining can be intermixedobj?.foo.bar?.baz; // Only access `foo` if `obj` exists, and `baz` if                   // `bar` exists// Example usage with bracket notation:obj?.['foo']?.bar?.baz // 42

慕姐4208626

您还可以使用 lodash get 函数来检查嵌套对象https://lodash.com/docs/4.17.15#getconst json = {&nbsp; prop1: {&nbsp; &nbsp; prop2: {&nbsp; &nbsp; &nbsp; prop3: "you are here"&nbsp; &nbsp; }&nbsp; }}console.log(_.get(json, "prop1.prop2.prop3"));console.log(_.get(json, "prop1.prop3.prop3"));console.log(_.get(json, "prop1.prop3.prop3", "Default value"));<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>

BIG阳

json["prop1"]["prop2"]["prop3"] 或使用 json?.prop1?.prop2?.prop3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript