javascript array 元素为对象时获取下标
 发布于 10 年前  作者 Mirwangsir  8308 次预览  最后一次回复是 10 年前  来自 问答 

var test = [ {‘id’: 3, ‘value’: 1}, {‘id’: 1, ‘value’: 1}, {‘id’: 15, ‘value’: 1}, {‘id’: 8, ‘value’: 1}, ] 除用遍历获取id为8的下标外,还有没有更高效的获取下标的方式?

7 回复
Mirwangsir

@nunnly 仅有的方式吗?

Mirwangsir

我暂时有两种考虑,大量数据先无判断遍历存入对象,再判断;数据少,就直接在遍历的过程中判断

alsotang

如果数据量真的很大,不想使用遍历的话,那么建议建立一个索引变量。以 id 为 key,在数组中的索引为 value。 否则也只能遍历了。 数据库在面对这种情况时,没有索引也只能遍历。

leapon

如果数据量真的很大很大, 可以考虑存到mongodb,用$elemMatch查找。

Mirwangsir

@alsotang 对,3楼里我的第一种方案就是这个

Mirwangsir

@leapon 好的,需要的话,我试下,暂时还用不到