Maison >interface Web >js tutoriel >Comment trier les objets JavaScript par noms de propriété : approches ES5 et ES6
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!