Estoy tratando de ordenar la matriz de objetos con una clave que es una fecha que se ve así
myArray = [{ '2022-04-01': '0.01' }, { '2022-03-31': '0.02' }, { '2022-04-02': '0.05' }]Pero quiero tener así
myArray = [{ '2022-03-31': '0.02' }, { '2022-04-01': '0.01' }, { '2022-04-02': '0.05' }],Probé diferentes números de soles, que ya están en stackoverflow, pero ninguno de ellos coincide con mi caso.
Solo esto funcionará.
myArray.sort((a,b) => Object.entries(a)[0] < Object.entries(b)[0] ? -1 : 1);Ejemplo de ejecución a continuación:
const myArray = [ { '2022-03-31': '32.2' }, { '2022-04-01': '32.23' }, { '2022-04-02': '32.9' }, { '2022-03-30': '32.253' }, { '2022-04-03': '32.253' }, { '2022-03-18': '32.253' }, { '2021-06-31': '32.37' } ]; myArray.sort((a,b) => Object.entries(a)[0] < Object.entries(b)[0] ? -1 : 1); console.log(myArray); También puede usar Object.keys en lugar de Object.entries como:
Object.keys(a)[0]