Является ли это действительным подходом JavaScript для эффективной сортировки больших массивов уникальных целых чисел? [Javascript

Форум по Javascript
Ответить
Anonymous
 Является ли это действительным подходом JavaScript для эффективной сортировки больших массивов уникальных целых чисел? [

Сообщение Anonymous »

Я экспериментирую с сортировкой больших массивов уникальных целых чисел в JavaScript и придумал простой подход. Мне любопытно, является ли это признанным шаблоном или есть ли потенциальные ловушки, которые я мог бы отсутствовать.function sortArr(arr) {
const sorted = [];
arr.forEach(el => sorted[el] = el);
return sorted.filter(el => el);
}

function getRandomArray(length, max = length * 10) {
const set = new Set();
while (set.size < length) {
set.add(Math.floor(Math.random() * max) + 1);
}
return [...set];
}

const arr = getRandomArray(100000);
console.log(sortArr(arr));
< /code>
Как это работает: < /p>
Каждый номер из массива помещается в индексе, равном его значению в новом массиве. Проблемы с таким подходом в JavaScript, особенно с большими массивами или большими максимальными значениями? Попытка эффективно сортировать большой набор уникальных целых чисел в JavaScript. Я хотел посмотреть, будет ли размещение каждого элемента в его индексе в новом массиве, а затем фильтрация пустых слотов даст правильно отсортированный массив, и является ли этот подход эффективным по сравнению со встроенным видом или подсчетом. Я также ожидал, что он будет работать относительно быстро для больших массивов и использовать разумное количество памяти.

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-integers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»