这是我的数据对象的样子: http://jsfiddle.net/303tpLtz/1
如您所见,在此处 https://gist.github.com/sahanDissanayake/b29c913a00d33bffc67f#file-gistfile1-js-L199 中,存在分类中的分类,必须在进行搜索时进行考虑。
因此问题是,我可以使用
但问题是,当我需要找到提供的请求中提到的某些内容时。例如,如果我需要找到一个在“食品 >”中的餐厅
有人可以帮我实现深度搜索功能吗?
我的解决方案: jsFiddle
因此问题是,我可以使用
_.findWhere(result.response.categories, {name: 'Arts & Entertainment'})
找到类别的顶级名称但问题是,当我需要找到提供的请求中提到的某些内容时。例如,如果我需要找到一个在“食品 >”中的餐厅
有人可以帮我实现深度搜索功能吗?
我的解决方案: jsFiddle
function findDeep(cats, attrs) {
_.each(cats, function(data, i) {
var copy = data;
// delete copy.categories;
newArr.push(copy);
_.each(data.categories, function(newObj) {
var copy2 = newObj;
// delete copy2.categories;
newArr.push(copy2)
if (newObj.categories) {
_.each(newObj.categories, function(otherObj) {
var copy3 = otherObj;
// delete copy3.categories;
newArr.push(copy3)
})
}
})
});
return _.findWhere(newArr, attrs) || null;
}
Underscore.js - 过滤嵌套的 Json
_。还有更多的猜测。 - Ryan Vincent