从对象列表中获取数据的最有效方法?
问题描述:
我有这样的对象列表(从PHP,然后JSON编码创建):从对象列表中获取数据的最有效方法?
{"10":{"10":["4","7","2","2","0","32"],"11":["5","22","1","1","0","0"]}}
translated:
{"X":{"Y":["unique_id","data","data","data","data","data"],"Y":["unique_id","data","data","data","data","data"]
但是我试图找到一种方式来获得X:通过寻找UNIQUE_IDŸ可以说这是4。
什么是最有效的方法来做到这一点?
答
如果它们是唯一的ID,请创建一个单独的查找表。
var id_lookup = {};
for(var x in data)
for(var y in data[x])
id_lookup[data[x][y][0]] = [x,y]
var coords = id_lookup[4];
alert(coords); // [10,10]
alert(data[coords[0]][coords[1]]); // ["4","7","2","2","0","32"]
所以为了减轻负载 - 最好创建仰望预负荷的话,我可以搜索它,当我需要它? :) – Sir 2012-04-13 22:46:32
@Dave:是的,你创建一次查找表,然后使用它。或者如果可能的话,您可以在服务器端创建它,并将其作为单独的JSON结构发送。 – 2012-04-13 22:47:37
嗯理想情况下宁愿用户的PC做的工作,而不是我的服务器:Phehe – Sir 2012-04-13 22:49:50