Is there are a way to recursively loop over all the nested properties of a JS/jQuery object?
For example, given this object
var x = {
\'name\': \
I was originally looking for a way to search a javascript object recursively and I found this post very helpful, in particular Jeroen Moons's answer. I have tweaked it to provide a return object. Input is object to search and a {key:value} object (needle).
function searchObject(object, keyvalue){
var found = false;
for (var property in object){
if (object.hasOwnProperty(property)){
if (typeof object[property] == 'object'){
found = searchObject(object[property], keyvalue);
if (found)
return found;
}else{
key = Object.keys(keyvalue)[0];
if (property == key && object[key] == keyvalue[key]){
console.log('searchObject ' + keyvalue[key] + ' found');
return object;
}
}
}
}
}