arraySort

arraySort

> Funkcje

Sortuje listę tablic zgodnie z kolejnością zdefiniowaną przez funkcję callback.

Elementy są porównywane dwa na dwa, funkcja wywołania zwrotnego musi zwrócić wartość ujemną, 0 lub dodatnią w zależności od tego, czy pierwsza wartość jest przed, na tym samym poziomie czy po drugiej wartości.

Przykład :

Ustawienia
Informacja zwrotna
TypeScript

W JavaScripcie sort() bez komparatora sortuje elementy jak łańcuchy: [10, 9, 1] daje [1, 10, 9], a nie porządek liczbowy z arraySort. Dla liczb zawsze przekazuj komparator: [...a].sort((x, y) => x - y), a (x, y) => y - x dla porządku malejącego. sort sortuje w miejscu, stąd kopia [...a], by otrzymać nową tablicę jak arraySort; a.toSorted((x, y) => x - y) robi obie rzeczy naraz.

Python

W Pythonie sorted(a) zwraca nową posortowaną listę, jak arraySort. Ale nie ma komparatora dwuargumentowego: sortuje się według klucza, sorted(a, key=len) albo sorted(a, key=lambda e: e.life), a reverse=True odwraca porządek. Aby ponownie użyć komparatora zwracającego liczbę ujemną, zero lub dodatnią, opakuj go: sorted(a, key=functools.cmp_to_key(comparateur)). Sortowanie porównuje elementy między sobą: lista mieszająca liczby i łańcuchy zgłasza TypeError.

Notatki