簡體   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