Tri des chaînes JavaScript
En JavaScript, le tri des chaînes peut être un peu délicat en raison de leurs bizarreries. Un défi courant consiste à trier les objets en fonction d'un attribut de chaîne, à l'aide de la méthode sort().
Problème :
Tentatives de tri des objets à l'aide de list.sort(function ( a, b) { return a.attr - b.attr }) échoue souvent pour la chaîne attributs.
Solution :
Pour trier les chaînes en JavaScript, utilisez String.prototype.localeCompare dans la fonction de tri :
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
En convertissant a.attr à une chaîne explicitement, nous évitons les exceptions. localeCompare prend en charge les comparaisons tenant compte des paramètres régionaux et est largement pris en charge dans tous les navigateurs.
Approche alternative :
Une méthode alternative consiste à utiliser l'extrait de code suivant :
if (item1.attr < item2.attr) return -1; if ( item1.attr > item2.attr) return 1; return 0;
Cependant, cette approche ne respecte pas les paramètres régionaux et peut produire des résultats incohérents dans différents environnements.
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!