arraySort

arraySort

> Функции

Сортирует список массивов в соответствии с порядком, заданным функцией обратного вызова.

Элементы сравниваются два на два, функция обратного вызова должна возвращать отрицательное, 0 или положительное значение в зависимости от того, находится ли первое значение до, на том же уровне или после второго значения.

Пример :

Настройки
Обратная связь
TypeScript

В JavaScript sort() без компаратора сортирует элементы как строки: [10, 9, 1] даёт [1, 10, 9], а не числовой порядок arraySort. Для чисел всегда передавайте компаратор: [...a].sort((x, y) => x - y), и (x, y) => y - x для убывающего порядка. sort сортирует на месте, отсюда копия [...a], чтобы получить новый массив, как arraySort; a.toSorted((x, y) => x - y) делает и то и другое сразу.

Python

В Python sorted(a) возвращает новый отсортированный список, как arraySort. Но компаратора с двумя аргументами нет: сортируют по ключу, sorted(a, key=len) или sorted(a, key=lambda e: e.life), а reverse=True переворачивает порядок. Чтобы переиспользовать компаратор, возвращающий отрицательное, нулевое или положительное число, оберните его: sorted(a, key=functools.cmp_to_key(comparateur)). Сортировка сравнивает элементы между собой: список, смешивающий числа и строки, возбуждает TypeError.

Примечания