He intentado encontrar una solución y pude encontrar algo que está cerca pero que aún no está allí. ¿Javascript ordena un objeto por claves basado en otra matriz? Quiero ordenarlos por ABC ascendente y descendente y no sé por dónde empezar.
const Accounts = { 'thing': { password: '123', } } const sortedKeys = Object.getOwnPropertyNames(Accounts).sort(); //This returns the names but not the passwordsconst sortedKeys = Object.getOwnPropertyNames(Accounts).sort(); Las sortedKeys anteriores contendrán una matriz de claves ordenadas como ha visto. A continuación, puede asignar las claves ordenadas a sus valores y tener un objeto ordenado.
El código es una versión más simple de lo que acabo de explicar:
const Accounts = { thing: { password: "123 } } const sortedAccounts = Object.keys(Accounts) .sort() .reduce((accumulator, key) => { accumulator[key] = obj[key]; return accumulator; }, {});Si entendí su pregunta correctamente, entonces es esencialmente un duplicado de esta pregunta .
De los comentarios de la pregunta vinculada: "El orden de las propiedades del objeto no es estándar en ECMAScript", por lo que no puede hacer lo que quiere hacer directamente.
Así es como lo haría:
const Accounts = { 'thing': { password: '123', } } //get array keys and sort them let sorted_keys = Object.keys(Accounts).sort(); //if you need your values too then use keys to access sorted_keys.forEach(function(key) {//access each key and map to its value let value = Accounts[key] //do whatever with value }