在以下代码中,在调用Catalog.scan(1, 100)
之后,Catalog.Page
现在是完整的对象列表
Catalog.Page
下的每个对象包含大约42个自己的对象,每个对象都有不同的值,包括Name
我希望能够在您调用Cataog.scan(1, 100)
后,在其名称中包含特定字符串的任何页面中搜索任何对象,然后以JSON格式返回这些对象(作为回报)实际的对象;而不是字符串)
这是我目前的代码,所有内容都完全有效,但Catalog.search
除外,它返回' []'几百次
感谢您提供的任何帮助,我很感激
var Catalog = {
def_scan_page:'http://www.roblox.com/catalog/json?browse.aspx?CatalogContext=1&SortType=0&SortAggregation=3&SortCurrency=0&LegendExpanded=true&Category=Featured&PageNumber=',
load:function(page) {
$.get(Catalog.def_scan_page+page).done(function(r) {
Catalog.Page[page] = r;
console.log("Loaded page",page);
});
},
scan:function(min, max) {
max++;
for (i=min;i<max;i++) {
Catalog.load(i);
}
},
search:function(string) {
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
objects.push(obj);
}
}
return objects;
}
for (var page in Catalog.Page) {
for (var item in Catalog.Page[page]) {
console.log(getObjects(Catalog.Page[page][item], 'Name', string))
}
}
},
Page:{
},
}