什么';在javascript中保持有序映射的最快方法是什么?

什么';在javascript中保持有序映射的最快方法是什么?,javascript,performance,Javascript,Performance,我使用javascript对象作为映射 假设我这样填充它: for (var i=0;i<100;i++) { var key = "A"+(i%10); oj[key] = i; } for(var i=0;i因为您正在创建映射,所以您可以同时创建排序列表(按排序顺序)。这将阻止在您想要显示它们时创建数组和排序。您最终会以内存换取速度,但这在性能调整中是正常的 如果你不能在上面做所有的事情,请考虑插入时的排序。根据排序实现,这可以节省时间。为什么你需要它更快?我同意@ H

我使用javascript对象作为映射

假设我这样填充它:

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

for(var i=0;i因为您正在创建映射,所以您可以同时创建排序列表(按排序顺序)。这将阻止在您想要显示它们时创建数组和排序。您最终会以内存换取速度,但这在性能调整中是正常的


如果你不能在上面做所有的事情,请考虑插入时的排序。根据排序实现,这可以节省时间。

为什么你需要它更快?我同意@ Hyyviver。这听起来像是过早的优化。按排序顺序添加项目会太贵。不是吗?请试试看,你会看到的。您自己。@Lx1:您的示例显示它们是按排序顺序添加的。简单地将它们添加到数组中会有什么代价?
//
// 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'; 
}