Maison >interface Web >js tutoriel >Comment trier correctement les chaînes dans les tableaux d'objets JavaScript ?

Comment trier correctement les chaînes dans les tableaux d'objets JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-25 12:35:12893parcourir

How to Correctly Sort Strings in JavaScript Object Arrays?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn