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.
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));
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
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))