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/[email protected]/lodash.min.js"></script>
添加回答
舉報