Tengo una matriz de objetos que contienen formato de fecha. el código funciona solo para ordenar el día no por meses y años
Mi código
const bills = [ { name: "ghaith", type: "transport", date: "12 may 21", }, { name: "Alex", type: "Restaurants", date: "15 oct 20", } ]; bills.sort((a, b) => b.date < a.date ? 1 : -1)Del comentario anterior...
"
bills.sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime())... cuya causa funciona solo para formatos abreviados de fecha válidos. ... el OP, por ejemplo, proporcionó originalmente"12 mai 21", mientras que debería ser"12 may 21"... ya está arreglado/editado".
const bills = [{ name: "ghaith", type: "transport", date: "12 may 21", }, { name: "Alex", type: "Restaurants", date: "15 oct 20", }]; console.log( bills.sort((a, b) => // new Date(a.date).getTime() - new Date(b.date).getTime() // or directly without `getTime` ... new Date(a.date) - new Date(b.date) ) ); .as-console-wrapper { min-height: 100%!important; top: 0; }Puede usar este código a continuación para ordenar su matriz de objetos por fecha tiene un formato específico:
const bills = [{ name: "ghaith", type: "transport", date: "12 may 21", }, { name: "Alex", type: "Restaurants", date: "15 oct 20", }]; console.log( bills.sort((a, b) => new Date(a.date) - new Date(b.date)) );