web-dev-qa-db-fra.com

Typographie - Tri des chaînes décroissantes

J'essaie de trier un string[] dans décroissant façon. Jusqu'à présent, ce que j'ai fait est le code ci-dessous:

let values = ["Saab", "Volvo", "BMW"]; // example 

values.sort();
values.reverse();

Cela fonctionne, mais j'essaie de trouver une meilleure façon de le faire.

16
gon250

Vous devez créer une fonction de comparaison et la passer comme paramètre de fonction de tri:

values.sort((one, two) => (one > two ? -1 : 1));
32
Thom

Une réponse plus récente est que vous pouvez utiliser String.prototype.localCompare () pour obtenir une valeur de comparaison numérique

Exemple simple:

let values = ["Saab", "Volvo", "BMW"];
values.sort((a, b) => b.localeCompare(a))

Cela ne provoque pas non plus d'avertissements TypeScript car la sortie de localCompare est un nombre

Plus d'informations et de paramètres de fonction supplémentaires peuvent être consultés ici https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare

3
Dve

Utilisez le code suivant pour trier le tableau dans l'ordre croissant et décroissant.

const ascending: any= values.sort((a,b) =>  (a > b ? 1 : -1));
const descending: any= values.sort((a,b) => (a > b ? -1 : 1))
1
Sheo Dayal Singh