Created
February 19, 2019 06:29
-
-
Save thekoushik/e025c09d78bbc9eb66255c85781a1de2 to your computer and use it in GitHub Desktop.
Javascript get nested value from object by string path
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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