Comment trier les chaînes en JavaScript à l'aide de localeCompare
Lorsque vous essayez de trier une liste d'objets en fonction d'un attribut de chaîne en utilisant l'approche traditionnelle de list.sort(function (a, b) { return a.attr - b.attr }), vous pouvez rencontrer des résultats inattendus. En effet, l'opérateur de soustraction (-) ne trie pas automatiquement les chaînes en JavaScript.
Pour trier efficacement les chaînes dans ce scénario, utilisez la méthode String.prototype.localeCompare. Cette méthode compare deux chaînes et renvoie un nombre négatif si la première chaîne est triée avant la deuxième chaîne, un nombre positif si la deuxième chaîne est triée avant la première chaîne, ou zéro si les deux chaînes sont égales.
Voici comment adapter votre code à l'aide de localeCompare :
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
En convertissant explicitement a.attr en chaîne, nous évitons les exceptions potentielles. localeCompare offre un support depuis Internet Explorer 6 et Firefox 1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!