0

我正在尝试使用以下代码对大型数组列表进行排序

function _stInd(arr, ind){
  return arr.sort(function(a, b) {
    var _1 = a[ind];
    var _2 = b[ind];
    return (_1 < _2) ? -1 : (_1 > _2) ? 1 : 0;
  });
}

请查看此 bin 了解更多信息http://jsbin.com/UqEPOfa/3/edit

代码工作正常,也可以排序。但问题是,如果我试图根据一个索引对超过 100 万个数组列表进行排序,那会花费太多。

请建议我改进此代码

4

1 回答 1

1

我建议你做两件具体的事情:

  1. 考虑您需要排序的数据集,这通常有助于更快地排序。(如评论中所述,如果其有限范围进行计数排序)

  2. 开始使用多线程(实际上称为工作线程)。是的 JAVASCRIPT 现在支持它。所以做一个合并排序并开始部分显示结果。有关如何使用多线程的更多详细信息,请参阅工作线程。我能想到的一个很好的教程是http://ejohn.org/blog/web-workers/

于 2013-09-04T08:08:05.717 回答