He estado luchando para encontrar un recurso útil dada la naturaleza peculiar de mi objeto... Simplemente me gustaría ordenar un objeto alfabéticamente, pero necesito ordenarlo por mi clave.
aquí hay un objeto de ejemplo con el mismo esquema del objeto con el que estoy trabajando
{ "sections": [ { "title": "21Q4 Results", "states": { "Maine": { "string1":[{stuff1}], "string2":[{stuff2}], }, "Arkansas": { "string1":[{stuff1}], "string2":[{stuff2}], }, "Kentucky": { "string1":[{stuff1}], "string2":[{stuff2}], }, } } ] }El objetivo es organizar las secciones.estados en orden alfabético. Desafortunadamente, la estructura de este objeto es generada por una API sobre la que no tengo control, por lo que cambiar la estructura desde el backend no es realmente una opción.
¿Cuál es la mejor manera de lograr esto? Cualquier ayuda sería muy apreciada.
Aquí hay una forma de convertir el objeto de estados en una matriz ordenada para preservar un orden de clasificación.
let stuff1 = stuff2 = 'foobar' let data = { "sections": [{ "title": "21Q4 Results", "states": { "Maine": { "string1": [{ stuff1 }], "string2": [{ stuff2 }], }, "Arkansas": { "string1": [{ stuff1 }], "string2": [{ stuff2 }], }, "Kentucky": { "string1": [{ stuff1 }], "string2": [{ stuff2 }], }, } }] } let newstates = Object.keys(data.sections[0].states).sort((a, b) => a.localeCompare(b)).map(s => ({state: s, data: data.sections[0].states[s] })); console.log(newstates)