I have a javascript object that has nested objects as properties. I would like to traverse this javascript object, to get a list of all the properties of every object inside the object.
I wrote a function to do this, but for some reason when I run the function I get an infinite loop of 0's. Does anyone know how the reason and solution for this issue?
var test = {a: {b: { c: 'value '}}};
var traverse = function(object){
for (var property in object) {
if (object.hasOwnProperty(property)) {
console.log(property);
traverse(object[property])
}else {
console.log('None');
break;
}
}
}
traverse(test);
traverse("value")->for (var property in object) { /*property === 0*/ if (object.hasOwnProperty("0") /* true */) { traverse("v") }->traverse("v")->for (var property in object) { /*property === 0*/ if (object.hasOwnProperty("0") /* true */) { traverse("v") }-> ...