对于 vs 关键对象速度

For vs Key Object speed

我有一个 API,其中 returns 我是一个集合,需要重新排序以便稍后在代码中获得更好的性能。现在,我想知道我是否应该作为对象集合离开

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;

我的观点是,如果我将数据用作对象,则不需要稍后在代码中使用 "for"。那么哪种方式会更快呢?我需要注意,稍后在代码中我需要比较大量数据并且我的响应时间非常短!

EDIT1:是的,ID 是唯一的。

EDIT2:Array vs. Object efficiency in JavaScript,谢谢@Daria

EDIT3:我需要在获取数组时遍历它们,我可以用很多时间来准备数据,但是一旦有人从我那里获取数据,我就需要节省时间,然后我有大约 20 毫秒的时间来做这件事,一堆其他的东西。

如果 ID 值是唯一的,如您所说,并且您不需要对对象有任何特定的顺序,那么在 ES5 和更早版本中,您几乎肯定需要第二种形式,即对象,不是数组。 (在 ES6+ 中你可能想要 Map。)