我想从特定的根对象开始遍历对象图,并找到从它开始的哪条路径通向具有给定值的属性的对象。到目前为止,这是我的代码:
function findPropertyValue(obj, value) {
if (typeof obj.seenBefore === "undefined") {
// treat for object graph circularity
obj.seenBefore = true;
for (var key in obj) {
if (obj[key] == value) {
return key;
} else {
if (obj[key]) {
var foundIt = findInput(obj[key], value);
if (foundIt) {
return key + '.' + foundIt;
}
}
}
}
}
return false;
};
问题在于它很快就达到了Chrome上的调用堆栈大小限制,无法继续搜索。是否有其他方法可以执行此操作或仅为了调试目的而增加堆栈大小限制?