Trier les chaînes en JavaScript

Shraddha Paghdar 12 octobre 2023
  1. Trier les chaînes JavaScript à l’aide de la méthode sort()
  2. Trier les chaînes JavaScript à l’aide de la méthode localeCompare()
Trier les chaînes en JavaScript

Une chaîne JavaScript contient zéro ou plusieurs caractères entre guillemets utilisés pour stocker et manipuler du texte.

En ce qui concerne les chaînes en JavaScript, il existe des méthodes intégrées utiles pour nous aider à les utiliser et à les manipuler. Cet article vous montre comment trier un tableau de chaînes à l’aide des méthodes JavaScript intégrées.

JavaScript a deux méthodes, sort et localeCompare, qui renvoient un tableau ordonné de chaînes en mutant le tableau de chaînes d’origine.

Trier les chaînes JavaScript à l’aide de la méthode sort()

La méthode sort() est une méthode intégrée fournie par JavaScript qui trie les éléments d’un tableau.

Ce tri est effectué en convertissant un élément en chaînes. Et sur cette base, il comparera leurs séquences de valeurs d’unités de code UTF-16.

L’ordre standard est toujours ascendant. Cette méthode mute le tableau d’origine.

Syntaxe:

sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
  ...
})

Les paramètres firstEl et secondEl représentent deux éléments d’un tableau qui doivent être comparés et triés. compareFn est une fonction optionnelle qui définit la fonction de tri personnalisé. La valeur de retour de cette méthode est qu’elle renvoie un tableau trié sur place, ce qui signifie qu’elle mute le tableau d’origine et stocke le résultat dans le tableau d’origine.

Pour plus d’informations, consultez cette documentation sur la méthode sort().

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort();
console.log(osItems);

Si nous appelons sort(), cela triera le tableau d’origine osItems en fonction des unités de code UTF-16 et stockera le résultat dans le tableau osItems. Lorsque vous exécutez le code ci-dessus, il vous donnera la sortie ci-dessous.

Production :

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]

Trier les chaînes JavaScript à l’aide de la méthode localeCompare()

La méthode localeCompare() est une méthode intégrée fournie par JavaScript.

Cette méthode vérifie si une chaîne de référence vient avant ou après, correspond à la chaîne spécifiée dans l’ordre de tri et renvoie le nombre en fonction de cela. Le résultat réel peut différer si vous passez l’autre locale.

Syntaxe:

localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)

compareString est un paramètre obligatoire qui est une chaîne à laquelle la chaîne de référence est comparée.

locales représente la langue dont les conventions de formatage doivent être utilisées, et c’est un paramètre complètement facultatif. Sur la base de la comparaison, il renverra soit 1 si la chaîne de référence se produit après la chaîne de comparaison, -1 si la chaîne de référence se produit avant la chaîne de comparaison et 0 si les deux chaînes sont équivalentes.

Pour plus d’informations, consultez cette documentation sur la méthode localeCompare().

Le seul avantage d’utiliser la méthode localeCompare à l’intérieur de la méthode sort est qu’elle permet de trier les caractères non-ASCII, comme é et è. Le paramètre locales et options de la méthode localeCompare la rend plus précise.

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort((a, b) => a.localeCompare(b, 'en'));
console.log(osItems);

Si nous appelons a.localeCompare(b, 'en'), cela comparera le a (chaîne de référence) du tableau d’origine, dans ce cas osItems, avec b (chaîne de comparaison) en utilisant les paramètres régionaux anglais . La partie intéressante ici est qu’elle ne renvoie que -1, -1 et 0, puis la méthode de tri va trier ces chaînes.

Lorsque vous exécutez le bloc de code ci-dessus, il vous donnera la sortie suivante.

Production :

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Article connexe - JavaScript String