我有一个非常大的json,如:
raw_obj= {"001" : {....}, "002" : {....}};
我还有一个刚从服务器返回的json对象:
search_result = {["001", "005", "123"]};
我想做点什么
$.each(search_result, function(i,val){
alert(raw_obj.search_result[i]);
});
有可能吗?我不想遍历这两个对象,因为在实际中,“raw_json”中将有大约2000个元素。这意味着最糟糕的情况是每个查询循环2000x2000次。
答案 0 :(得分:1)
var raw_obj= {"001" : {'...'}, "002" : {'...'}};
var search_results = ["001", "005", "123"]; // just an array
$.each(search_results, function(i, result) {
alert(raw_obj[result]);
});
搜索结果是一个数组(即列表),而不是一个对象(即地图),所以语法应该如上修改。如果您无法控制服务器响应,请使用字符串解析来构建新数组。