使JavaScript中的数组查找更高效

Make array lookup efficient in JavaScript

本文关键字:查找 高效 数组 JavaScript      更新时间:2023-09-26

我正在研究一个phonegap应用程序,我们获取rss提要并将其转换为json并将其保存到本地存储。json文件。json数据文件包含的数组很少,一般存储500 ~ 1000个元素。为了在屏幕上处理和呈现数据,我经常需要在数组中查找匹配的元素,它的编码如下:

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

由于这种类型的迭代在应用程序中被大量使用,所以它有点慢。如何在JavaScript中使用高效的数据结构来优化这个过程?考虑到应用程序是在PhoneGap中构建的,并且运行在性能良好的智能手机上,我可以使用一些第三方库吗?

可以使用对象作为查找表。例子:

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

然后您可以使用id:

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