arraySort

arraySort

> Fonctions

Trie la liste array selon l'ordre défini par la fonction callback.

Les éléments sont comparés deux à deux, la fonction callback doit renvoyer une valeur négative, 0 ou positive selon si la première valeur est avant, au même niveau ou après la seconde valeur.

L'ordre par défaut est :

En LS1, l'ordre par défaut est : nombres, booléens, tableaux, éléments null, puis chaînes.

Exemple :

Paramètres
Retour
TypeScript

En JavaScript, sort() sans comparateur trie les éléments comme des chaînes : [10, 9, 1] donne [1, 10, 9], et non l'ordre numérique de arraySort. Passez toujours un comparateur pour des nombres : [...a].sort((x, y) => x - y), et (x, y) => y - x pour l'ordre décroissant. sort trie sur place, d'où la copie [...a] pour obtenir un nouveau tableau comme arraySort ; a.toSorted((x, y) => x - y) fait les deux en une fois.

Python

En Python, sorted(a) renvoie une nouvelle liste triée, comme arraySort. Mais il n'y a pas de comparateur à deux arguments : on trie par une clé, sorted(a, key=len) ou sorted(a, key=lambda e: e.life), et reverse=True inverse l'ordre. Pour réutiliser un comparateur qui renvoie un nombre négatif, nul ou positif, enveloppez-le : sorted(a, key=functools.cmp_to_key(comparateur)). Le tri compare les éléments entre eux : une liste mêlant nombres et chaînes lève une TypeError.

Notes