Я пытаюсь сортировать большой список массива массивов, используя ниже кодаСортировка списка Массива равных массивов длины на основе индекса
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;
});
}
Пожалуйста, посмотрите на этом бункере для получения дополнительной информации http://jsbin.com/UqEPOfa/3/edit
код работает хорошо, и он также может сортировать. Но проблема в том, что это слишком много, если я пытаюсь сортировать более 1 миллиона списков массивов на основе одного индекса.
Пожалуйста, предложите мне улучшить этот код
Предлагаемое улучшение стиля: 'return a [ind] - b [ind]'. Он просто должен быть положительным/отрицательным/нулевым, а не '-1',' 1', '0'. – Nicole
Миллион массивов займет много времени независимо от того, что вы делаете. Сортировка - это 'O (n log n)' в лучшем случае ... –
Сортировка больших списков всегда является проблемой. Однако, вопреки тому, что говорит Колинк, вы можете идти быстрее, чем O (n log n), если вы сортируете в конечном наборе. Если вы сортируете целые числа в ограниченном диапазоне, посмотрите на сортировку подсчета (http://en.wikipedia.org/wiki/Counting_sort), сортировку radix (http://en.wikipedia.org/wiki/Radix_sort) или bucket sort (http://en.wikipedia.org/wiki/Bucket_sort). – MrP