function safeGet(obj, props, defaultVal) {
// 请在这里实现
if(!obj){
return defaultVal
}
if(typeof(obj[props]) !== 'undefined') {
if(obj[props] === null){
return defaultVal
}
return obj[props]
}
let propsArr = props.split('.')
for(let i = 0,l = propsArr.length; i < l; i++){
let k = propsArr[i]
if(obj && typeof obj === 'object' && k in obj && (obj[k]) !== null) {
obj = obj[k]
}else {
return defaultVal
}
}
return obj
}
var deelyNestedObj = {
a: {
b: {
c: {
d: 123
}
}
}
}
console.log(safeGet(deelyNestedObj, 'a.b.c.d', 'Alipay'))
console.log(safeGet(deelyNestedObj, ' a. b..c..d '))
console.log(safeGet(deelyNestedObj, 'a.b.c1.d'))
console.log(safeGet(deelyNestedObj, 'a.b.c1.d', 'Alipay'))
console.log(safeGet(deelyNestedObj, 'a.b.c.d.e.f.g.h'))
console