OK , come forse saprai, JavaScript ha la funzione sort () , per ordinare le matrici, ma nulla per l'oggetto ...
Quindi, in quel caso, dobbiamo in qualche modo ottenere una matrice di chiavi e ordinarle, ecco il motivo per cui l'apis ti dà oggetti in una matrice per la maggior parte del tempo, perché la matrice ha più funzioni native per giocare con loro rispetto all'oggetto letterale, comunque, la rapida soluzione sta usando Object.key che restituisce un array di chiavi dell'oggetto, creo la funzione ES6 sotto la quale fa il lavoro per te, usa le funzioni native sort () e ridurre () in javascript:
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
E ora puoi usarlo in questo modo:
let myObject = {a: 1, c: 3, e: 5, b: 2, d: 4};
let sortedMyObject = sortObject(myObject);
Controlla sortMyObject e puoi vedere il risultato ordinato per chiavi in questo modo:
{a: 1, b: 2, c: 3, d: 4, e: 5}
Anche in questo modo, l'oggetto principale non verrà toccato e stiamo effettivamente ottenendo un nuovo oggetto.
Creo anche l'immagine qui sotto, per rendere più chiari i passaggi della funzione, nel caso in cui sia necessario modificarlo un po 'per farlo a modo tuo: