3 回答
TA贡献1830条经验 获得超9个赞
使用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
TA贡献1852条经验 获得超7个赞
您还可以使用 lodash get 函数来检查嵌套对象
https://lodash.com/docs/4.17.15#get
const json = {
prop1: {
prop2: {
prop3: "you are here"
}
}
}
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>
添加回答
举报