Skip to content

Instantly share code, notes, and snippets.

@thekoushik
Created February 19, 2019 06:29
Show Gist options
  • Save thekoushik/e025c09d78bbc9eb66255c85781a1de2 to your computer and use it in GitHub Desktop.
Save thekoushik/e025c09d78bbc9eb66255c85781a1de2 to your computer and use it in GitHub Desktop.
Javascript get nested value from object by string path
function getNested(obj,prop){
var _prop=prop.split(".")
for(var i=0;i<_prop.length;i++){
if(_prop[i] in obj)
obj=obj[_prop[i]]
else
return;
}
return obj;
}
var myInputObject={
name: "Some One",
favourites:["apple","mango"],
addresses:[
{
street: "Some Street",
city: "Some City"
},{
street: "Some Street 2",
city: "Some City 2"
}
]
};
console.log(getNested(myInputObject,"name"))//Some One
console.log(getNested(myInputObject,"favourites.0"))//apple
console.log(getNested(myInputObject,"addresses.0.street"))//Some Street
console.log(getNested(myInputObject,"addresses.1.city"))//Some City 2
console.log(getNested(myInputObject,"addresses.3.city"))//undefined
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment