【发布时间】:2017-11-15 16:43:52
【问题描述】:
我有一个具有嵌套对象作为属性的 javascript 对象。我想遍历这个 javascript 对象,以获取对象内每个对象的所有属性的列表。
我编写了一个函数来执行此操作,但由于某种原因,当我运行该函数时,我得到一个 0 的无限循环。有谁知道这个问题的原因和解决方法吗?
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") }-> ...
标签: javascript object properties traversal