Tri d'un objet JavaScript par nom de propriété revisité
En JavaScript, les objets sont des collections non ordonnées de paires clé-valeur. Lors de l'accès à une propriété par sa clé, l'ordre des clés est insignifiant et non garanti. Cependant, il existe des scénarios dans lesquels le tri d'un objet par ses noms de propriété par ordre alphabétique devient souhaitable.
Techniques de tri
Traditionnellement, trier un objet par ses noms de propriété nécessitait de le convertir en un tableau de clés, trier le tableau par ordre alphabétique, puis reconstruire l'objet. Cette approche utilisait une boucle et impliquait la création d'un tableau temporaire, ce qui pouvait avoir un impact sur les performances des objets volumineux.
Dans ES6, cependant, les objets étaient ordonnés. Cela signifiait que parcourir les clés d'un objet les renverrait dans l'ordre dans lequel elles avaient été définies. Par conséquent, trier les clés d'un objet est devenu aussi simple que :
<code class="javascript">const sortedObject = Object.fromEntries( Object.entries(originalObject).sort(([a], [b]) => a.localeCompare(b)) );</code>
Dans cet exemple, Object.entries() convertit l'objet en un tableau de paires clé-valeur. Ensuite, sort() trie le tableau par ordre alphabétique en fonction des noms de propriétés en utilisant localeCompare() pour un tri insensible à la casse. Enfin, Object.fromEntries() reconstruit l'objet avec les noms de propriétés triés.
Remarque : Les objets ES6 ne sont ordonnés que s'ils sont créés à l'aide d'un littéral { } ou s'ils héritent d'un objet commandé. Les objets créés à l'aide de Object.create(null) ne sont toujours pas ordonnés.
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!