【发布时间】:2014-05-26 16:18:53
【问题描述】:
我正在尝试在对象中进行递归搜索,并且我正在尝试根据某些条件查找 所有 匹配项。我正在使用以下功能:
function checkForTitleMatch(query, node) {
var results = [];
if (node.attr.title.indexOf(query) != -1) {
results.push = node;
}
for (var i = 0; i < node.children.length; i++) {
checkForTitleMatch(query, node.children[i]);
}
return results;
}
我不认为匹配有问题等等 - 我认为问题在于我在递归中返回结果的方式。
在我的情况下,结果始终是一个空数组,因为第一个/根元素永远不会匹配(在我的情况下),并且没有正确返回子迭代的结果,恕我直言。
请有人纠正我或指出为了得到正确的结果必须改变什么吗?
【问题讨论】:
-
我想知道如果结果不是空数组,我不应该推动子递归,但必须有一种更清洁的方式:/
标签: javascript recursion