Javascript从字符串键解析对象键值

And*_*ter 2 javascript

我有自定义对象

var user = {
  name: "John",
  lastname: "Doe",
  details: {
    age: 33,
    gender: "male",
    education: {
      university: "Oxford"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我需要一个可以从字符串中解析对象键的函数。例如函数参数:

getObjectKeyValue("details.age") // 33
getObjectKeyValue("details.education.university") // Oxford
Run Code Online (Sandbox Code Playgroud)

如何实现像这样的函数,从基于字符串点的键中获取对象键值?

pc_*_*der 5

会有更好的解决方案,但你可以尝试这个

var user = {
  name: "John",
  lastname: "Doe",
  details: {
    age: 33,
    gender: "male",
    education: {
      university: "Oxford"
    }
  }
}

console.log(getObjectKeyValue("details.age"))
console.log(getObjectKeyValue("details.education.university"))

function getObjectKeyValue(param){
 var params=param.split(".");
 var obj=user
 params.forEach(el=>{
    obj=obj[el]
 })
 return obj;
}
Run Code Online (Sandbox Code Playgroud)