繁体   English   中英

在javascript中保存有序地图的最快方法是什么?

[英]What's the fastest way to keep an ordered map in javascript?

我使用javascript对象作为地图。

让我们说我这样填充它:

for (var i=0;i<100;i++) {
   var key = "A"+(i%10);
   oj[key] = i; 
}

这将创建一个包含10个键的地图。 100和10的值只是虚构的。 它可能是10000个事件,创建3000或类似的地图。

我现在想按字母顺序打印地图:

//
// First I transfer the items in an array.
// 
array = []; 
for (var i in oj) {
    array.push(i); 
}

//
// then I sort them
//
array.sort();

//
// now I can process them
// 
str = '';
for (var i=0;i<array.length;i++) {
   str+= array[i]+' '+oj[array[i]]+'\n'; 
}

任何人都能建议更好的方式吗?

*更好的意思更快!

非常感谢

由于您正在创建地图,因此您可以同时创建排序列表(按排序顺序)。 这样可以防止在您想要显示它们时创建数组和排序。 你最终会以速度交换内存,但这在性能调优中是正常的。

如果您不能预先完成上述操作,请在插入时考虑排序。 根据排序实现,可以节省时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM