OK , como ya sabrán, javascript tiene la función sort () , para ordenar las matrices, pero nada para el objeto ...
Entonces, en ese caso, necesitamos obtener de alguna manera la matriz de las claves y ordenarlas, esa es la razón por la que la API te da objetos en una matriz la mayor parte del tiempo, porque Array tiene más funciones nativas para jugar con ellas que el objeto literal, de todos modos, la solución rápida está usando Object.key que devuelve una matriz de las teclas de objeto, creo la función ES6 a continuación que hace el trabajo por usted, utiliza las funciones nativas sort () y reduce () en javascript:
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
Y ahora puedes usarlo así:
let myObject = {a: 1, c: 3, e: 5, b: 2, d: 4};
let sortedMyObject = sortObject(myObject);
Verifique sortedMyObject y podrá ver el resultado ordenado por claves como esta:
{a: 1, b: 2, c: 3, d: 4, e: 5}
También de esta manera, el objeto principal no se tocará y en realidad obtendremos un nuevo objeto.
También creo la imagen a continuación, para que los pasos de la función sean más claros, en caso de que necesite cambiarlo un poco para que funcione a su manera: