# 对象递归取值
array.reduce通常可以实现递归效果,我们通过reduce实现通过obj.a.b.c这样的表达式进行递归取值
// 传入一个对象和点号分隔的表达式实现递归取值
function getVal(obj, expr) {
expr = expr.split('.')
return expr.reduce((prev, next) => {
return prev[next]
}, obj)
}
let obj = {
a: {
b: 10,
},
}
console.log(getVal(obj, 'a.b'))