我有部分数据用分布在不同集合中的ID标记。我可以在JavaScript中获得对象和数组的好处吗?
我需要直接使用ID访问这些数据,但我也需要循环快速的数据。
var listOfPartA = {
34523: { foo: 7, bar: 123},
6435: { foo: 2, bar: 163},
3123: { foo: 3, bar: 223},
...
};
var listOfPartB = {
34523: { baz: 1},
6435: { baz: 4},
3123: { baz: 6},
...
};
如果我需要获得特定dataparts一个标识它的速度快,但如果我尝试循环中的所有dataparts它的速度慢。
var listOfPartA = [
{ id: 34523, foo: 7, bar: 123},
{ id: 6435, foo: 2, bar: 163},
{ id: 3123, foo: 3, bar: 223},
...
];
var listOfPartB = [
{ id: 34523, baz: 1},
{ id: 6435, baz: 4},
{ id: 3123, baz: 6},
...
];
如果我要得到具体dataparts这些对象是缓慢的,因为我必须手动搜索它们的ID,但如果我遍历它的快速所有dataparts。
我不能有快速直接访问和快速迭代吗?
你总是可以使用两者。数组通过引用进行分配,因此在内存方面的开销很小。 – meagar
同时使用两个数据。关键字:索引结构;) – Coxer
如果我想将数据删除到所有ID,该怎么办?我可以在对象中快速执行它,但不会导致数组最终导致死亡引用? –