trier un tableau en foinction de la première lettre des villes js

Trier un tableau en fonction de la première lettre des villes en JS

Il est souvent nécessaire de trier les données d'un tableau en fonction de certains critères. Dans ce cas-ci, nous allons trier un tableau de villes en fonction de la première lettre de chaque ville à l'aide de JavaScript.

Exemple de tableau de villes


const villes = ['Montréal', 'Toronto', 'Ottawa', 'Vancouver', 'Québec', 'Calgary'];

Avant de trier le tableau, nous allons créer une fonction qui va retourner la première lettre de chaque ville.


function getFirstLetter(ville) {
  return ville[0];
}

Maintenant que nous avons notre fonction, nous allons trier le tableau. Nous pouvons utiliser la méthode sort de JavaScript.

Méthode 1: Utilisation de la méthode sort()


const villesTrie = villes.sort(function(a, b) {
  return getFirstLetter(a) > getFirstLetter(b) ? 1 : -1;
});
console.log(villesTrie);

Cette méthode utilise une fonction anonyme à l'intérieur de sort() pour comparer les premières lettres de chaque ville. Si la première lettre d'une ville est supérieure à celle d'une autre ville, elle sera déplacée vers le haut du tableau. Sinon, elle sera déplacée vers le bas du tableau.

Méthode 2: Utilisation de la méthode localeCompare()

Une autre méthode possible est d'utiliser la méthode localeCompare() de JavaScript.


const villesTrie = villes.sort(function(a, b) {
  return a.localeCompare(b);
});
console.log(villesTrie);

Cette méthode utilise la fonction localeCompare() pour comparer les première lettres des villes. Elle compare les caractères Unicode des deux chaînes, et renvoie un nombre négatif si la chaîne "a" est avant la chaîne "b", 0 si les deux chaînes sont identiques, ou un nombre positif si la chaîne "a" est après la chaîne "b".

Dans notre exemple, si la première lettre d'une ville est avant la première lettre d'une autre ville dans l'alphabet, la ville sera déplacée vers le haut du tableau. Sinon, elle sera déplacée vers le bas du tableau.

Méthode 3: Utilisation de la méthode map() et sort()

Une dernière méthode possible est de combiner les méthodes map() et sort().


const villesTrie = villes.map(function(ville) {
  return {v: ville, c: getFirstLetter(ville)};
}).sort(function(a, b) {
  return a.c > b.c ? 1 : -1;
}).map(function(ville) {
  return ville.v;
});
console.log(villesTrie);

Cette méthode utilise la méthode map() pour créer un tableau d'objets contenant à la fois la ville et sa première lettre. Ensuite, elle utilise la méthode sort() pour trier les villes en fonction de leur première lettre. Finalement, elle utilise la méthode map() pour retourner un tableau contenant seulement les villes triées.

En résumé, ces trois méthodes permettent de trier un tableau de villes en fonction de la première lettre de chaque ville en utilisant JavaScript. Selon la taille du tableau et les performances requises, il est possible que certaines méthodes soient plus rapides que d'autres.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe