# 对象递归取值

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'))
上次更新: 2/13/2025, 3:29:47 AM