对于 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
。)
我有一个 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
。)