0
我有一个API,它返回一个集合,需要重新排序才能在后面的代码中获得更好的性能。现在,我不知道我要离开的对象对于关键对象的速度
var collection = [{
"id": "d3d2d",
"something": "win"
}, ...]
的收集和使用以后:
for(var i in collection){bla = collection[i]something;}
或作为对象
var object = {
"d3d2d": {
"something": "win"
}
};
所以,我可以在以后使用它是这样的
bla = object[i.need.id].something;
我的点t是如果我使用数据作为对象,我不需要在代码中使用“for”。那么哪种方式会更快?我需要注意的是,在后面的代码中,我需要比较大量的数据,并且我的响应时间非常短。
EDIT1:是的,ID是唯一的。
EDIT2:Array vs. Object efficiency in JavaScript,THX @Daria
EDIT3:我需要通过数组迭代时,我把它们抓下来,我可以使用大量的时间来准备数据,但我需要节省时间一旦有人从获取数据然后我有20ms左右的时间来做这个和其他一些东西。
是的,对象查找比遍历整个阵列远胜快得多。因此,如果以后需要进行大量比较,将数组集合转换为该对象是有意义的(尽管[不应该使用'for in'](http://stackoverflow.com/q/500504/1048572)为了那个原因)。 – Bergi
那么,它是否需要*订购*?那么没有太多的选择。 – deceze
它们是不同用途的不同结构。如果您需要迭代对象,则无论如何您都需要一个循环。 – DontVoteMeDown