Maison  >  Article  >  interface Web  >  Comment trier les objets JavaScript par noms de propriété : approches ES5 et ES6

Comment trier les objets JavaScript par noms de propriété : approches ES5 et ES6

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 20:51:29979parcourir

How to Sort JavaScript Objects by Property Names: ES5 vs. ES6 Approaches

Organiser les objets JavaScript par noms de propriété

Trier les objets JavaScript par ordre alphabétique par nom de propriété est une exigence courante, mais cela pose un défi car l'objet l’ordre des clés n’est pas garanti. Cet article aborde ce problème et fournit une solution pour organiser les objets dans un ordre spécifique.

Solution ES5 obsolète :

Comme la spécification ES5 ne définit pas d'ordre pour les objets clés, la méthode suivante peut être utilisée, mais n'est pas considérée comme à l'épreuve du temps :

<code class="javascript">function sortObject(o) {
    var sorted = {},
    key, a = [];

    for (key in o) {
        if (o.hasOwnProperty(key)) {
            a.push(key);
        }
    }

    a.sort();

    for (key = 0; key < a.length; key++) {
        sorted[a[key]] = o[a[key]];
    }
    return sorted;
}

Cette solution parcourt les clés de l'objet, les trie par ordre alphabétique, puis crée un nouvel objet avec les clés triées et leurs valeurs correspondantes.

Solution conforme ES6 :

Avec l'introduction d'ES6, les clés d'objet sont désormais garanties d'être dans l'ordre dans lequel elles ont été définies. Par conséquent, le tri peut être effectué de manière plus concise :

<code class="javascript">const sortedObject = Object.fromEntries(
  Object.entries(originalObject).sort((a, b) => a[0].localeCompare(b[0]))
);</code>

Cette méthode convertit l'objet en un tableau de paires clé-valeur, trie le tableau en fonction des clés, puis reconvertit le tableau trié en un objet en utilisant Object.fromEntries().

Conclusion :

Bien que l'ordre des clés d'objet dans ES5 ne soit pas défini, les solutions fournies peuvent être utilisées pour trier les objets par noms de propriété . Dans ES6 et versions ultérieures, l'ordre des clés d'objet est garanti, ce qui rend le processus de tri plus simple.

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