Le type des éléments contenus dans le tableau.
Un nouveau tableau contenant les éléments triés.
const users = [
{ id: 3, name: 'Zoe' },
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Éric' }
];
// Tri numérique
const byId = sortBy(users, user => user.id);
// => [{id: 1, name: 'Alice'}, {id: 2, name: 'Éric'}, {id: 3, name: 'Zoe'}]
// Tri alphabétique (gère correctement les accents via localeCompare)
const byName = sortBy(users, user => user.name);
// => [{id: 1, name: 'Alice'}, {id: 2, name: 'Éric'}, {id: 3, name: 'Zoe'}]
Trie un tableau d'éléments en se basant sur une clé de comparaison extraite pour chaque élément.
Cette fonction est pure (elle ne mute pas le tableau d'origine). Pour garantir des performances optimales sur de grands jeux de données, elle implémente la Transformée de Schwartz (Decorate-Sort-Undecorate). Ainsi, la fonction d'extraction
fnn'est exécutée qu'une seule fois par élément, évitant les goulets d'étranglement lors de calculs lourds. Les chaînes de caractères sont triées nativement en tenant compte des spécificités locales (accents).