OK , comme vous le savez peut-être, javascript a la fonction sort () , pour trier les tableaux, mais rien pour l'objet ...
Donc, dans ce cas, nous devons en quelque sorte obtenir un tableau des clés et les trier, c'est la raison pour laquelle les API vous donnent des objets dans un tableau la plupart du temps, car Array a plus de fonctions natives pour jouer avec elles que les objets littéraux, de toute façon, la solution rapide utilise Object.key qui retourne un tableau des clés d'objet, je crée la fonction ES6 ci-dessous qui fait le travail pour vous, elle utilise les fonctions natives sort () et Reduce () en javascript:
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
Et maintenant, vous pouvez l'utiliser comme ceci:
let myObject = {a: 1, c: 3, e: 5, b: 2, d: 4};
let sortedMyObject = sortObject(myObject);
Vérifiez le sortedMyObject et vous pouvez voir le résultat trié par des clés comme ceci:
{a: 1, b: 2, c: 3, d: 4, e: 5}
De cette façon, l'objet principal ne sera pas touché et nous obtenons en fait un nouvel objet.
Je crée également l'image ci-dessous, pour rendre les étapes de la fonction plus claires, au cas où vous auriez besoin de la modifier un peu pour qu'elle fonctionne à votre façon: