Tengo una estructura de objeto como esta:
{ 1000: [{AnnouncementCode: 1000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 1000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 1000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"}], 2000: [{AnnouncementCode: 2000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 2000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 2000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"}], 3000: [{AnnouncementCode: 3000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 3000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 3000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"}], 4000: [{AnnouncementCode: 4000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 4000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"},{AnnouncementCode: 4000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"}] }Estoy imprimiendo todo en la interfaz, pero por ahora están ordenados dentro de cada matriz, pero no en general. No sé cuál sería la mejor manera de ordenar todos los valores de cada clave a nivel mundial.
La clasificación debe ser por fecha, por lo tanto, por 'creado_en'
Creo que no vale la pena ordenar datos como este, porque será más útil para el mapa y todos tienen una variedad de objetos, como este:
const array = [ {AnnouncementCode: 4000, Name: 'foo', created_at: "2022-04-01T19:52:01.000000Z"}, {AnnouncementCode: 4000, Name: 'foo', created_at: "2022-07-01T19:52:01.000000Z"}, {AnnouncementCode: 3000, Name: 'foo', created_at: "2022-05-01T19:52:01.000000Z"}, {AnnouncementCode: 1000, Name: 'foo', created_at: "2022-09-01T19:52:01.000000Z"}, {AnnouncementCode: 2000, Name: 'foo', created_at: "2022-01-01T19:52:01.000000Z"}, {AnnouncementCode: 1000, Name: 'foo', created_at: "2022-02-01T19:52:01.000000Z"}, ] const sortedByDate = array.sort((a,b) => { if (a.created_at > b.created_at) return 1 if (a.created_at < b.created_at) return -1 if (a.created_at == b.created_at) return 0 }) const sortByAnnouncementCode = array.sort((a,b) => { if (a.AnnouncementCode > b.AnnouncementCode) return 1 if (a.AnnouncementCode < b.AnnouncementCode) return -1 if (a.AnnouncementCode == b.AnnouncementCode) return 0 }) const sortByCodeThanDate = array .filter((data) => data.AnnouncementCode === 1000) .sort((a,b) => { if (a.created_at > b.created_at) return 1 if (a.created_at < b.created_at) return -1 if (a.created_at == b.created_at) return 0 }) console.log(sortByCodeThanDate)Si realmente necesita ordenar por los datos que informó, creo que tendrá una tarea más difícil, pero todo depende de si hay datos de dinámica de área o no.