Спецификация Ecma неясна в отношении Array#sort
, поэтому ответ зависит от фактической реализации, если предположить, что мы говорим о V8
(Chrome, NodeJS), тогда мы можем сказать, что для списков с >10
элементами времясложность равна O(n log(n))
, тогда как временная сложность Array#reverse
равна O(n)
.
. Учитывая это, мы можем с уверенностью сказать, что было бы лучше отсортировать по убыванию напрямую, поскольку sort + reverse
, очевидно, большедороже, чем просто sort
.
сортировка в порядке убывания равна сортировке в порядке возрастания.
ОБНОВЛЕНИЕ :Как заявил Йонас в комментарии ниже, если вы можете заметить шаблон в своем списке (например, список уже отсортирован по asc), то, вероятно, вы можете просто изменить его и сохранить операцию O(n log(n))
.Попытка понять форму ваших данных всегда является первым шагом для оптимизации производительности.