在JavaScript中使数组查找更有效

时间:2014-06-16 08:52:34

标签: javascript arrays cordova

我正在开发一个phonegap应用程序,我们获取rss feed并将其转换为json并将其保存到“.json”文件中的本地存储。 json数据文件包含少量数组,通常存储500到1000个元素。 为了在屏幕上处理和渲染数据,我经常需要在数组中查找匹配的元素,它的编码如下:

for each array in arrys
    for each element in array
        if element.id=idToLookUp
            //do something

由于这种类型的迭代在app中大量使用,因此它的速度很慢。 如何通过在JavaScript中使用高效的数据结构来优化此过程。 考虑到应用程序是在PhoneGap中构建的,并且可以在以智能手机为主的智能手机上运行,​​我可以使用像Underscore.js这样的第三个艺术库吗?

1 个答案:

答案 0 :(得分:0)

您可以将对象用作查找表。例如:

var lookup = {};
for (var i = 0; i < array.length; i++) {
  loopup[array[i].id] = array[i];
}

然后你可以使用id:

获取项目
var item = lookup[idToLookUp];