Quiero ordenar el siguiente objeto json en javascript por la tecla "orderby" (vea el segundo objeto json para el resultado que necesito):
{ "1": { "category": "Year", "value": "2028", "title": "Current Year", "description": "", "orderby": "3" }, "2": { "category": "Year", "value": "2038", "title": "First Year", "description": "", "orderby": "4" }, "3": { "category": "Year", "value": "2016", "title": "Base Year", "description": "", "orderby": "1" }, "4": { "category": "Year", "value": "2018", "title": "Previous Year", "description": "", "orderby": "2" } }Salida requerida:
{ "3": { "category": "Year", "value": "2016", "title": "Base Year", "description": "", "orderby": "1" }, "4": { "category": "Year", "value": "2018", "title": "Previous Year", "description": "", "orderby": "2" }, "1": { "category": "Year", "value": "2028", "title": "Current Year", "description": "", "orderby": "3" }, "2": { "category": "Year", "value": "2038", "title": "First Year", "description": "", "orderby": "4" } }Puede ordenar esta matriz utilizando la función de sort de JavaScript.
const data = { "1": { "category": "Year", "value": "2028", "title": "Current Year", "description": "", "orderby": "3" }, "2": { "category": "Year", "value": "2038", "title": "First Year", "description": "", "orderby": "4" }, "3": { "category": "Year", "value": "2016", "title": "Base Year", "description": "", "orderby": "1" }, "4": { "category": "Year", "value": "2018", "title": "Previous Year", "description": "", "orderby": "2" } } Object.keys(data).sort((a, b) => data[a].orderby - data[b].orderby).map(f => data[f])