Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

104
Vistas
Ordenar matriz por fecha

Hola a todos. Quiero que se ordene por fecha y se vuelva a mostrar al hacer clic en Reciente. Pero simplemente no pude. Cuando hago console.log, veo la matriz sin ordenar. y cuando hago console.log me quedo indefinido. Siento que me estoy perdiendo algo muy simple, pero no pude resolverlo. ¿Dónde me estoy perdiendo? ¿Por qué console.log devuelve undefined? ¿Alguna ayuda?

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Tengo una idea de lo que puede hacer: organice el formato de fecha al revés (yyyy-mm-dd) y luego elimine el - tendrá un número ordenable que puede usar para ordenar la matriz.

about 4 years ago · Santiago Gelvez Denunciar

0

1 convertir a una matriz con JSON. parse () si los valores están en JSON ... En su caso, no son una matriz pura

2 Crea una función y compara las fechas usando new Date()

 var arr = [{id: 1, date: Mar 12 2012 10:00:00 AM}, {id: 2, date: Mar 8 2012 08:00:00 AM}]; sortByDate(arr) { arr.sort(function(a,b){ return Number(new Date(a.readableDate)) - Number(newDate(b.readableDate)); }); return arr; }
about 4 years ago · Santiago Gelvez Denunciar

0

Vayamos al error. Lo primero es lo primero, la razón por la que no está undefined es que tiene el objeto allFeeds con feeds como una matriz. Cuando console.log(allFeeds.date) no hay una date de par clave-valor en su objeto allFeeds , por lo que le da undefined y cuando hace console.log(allFeeds.feeds.date) aquí debe usar console.log(allFeeds.feeds[0].date) porque allFeeds.feeds es una matriz.

Para resolver su problema, puede usar la siguiente solución.

 a.sort((x,y)=>{return new Date(x.date.split("-").reverse().join("-")).getTime() - new Date(y.date.split("-").reverse().join("-")).getTime()})

Estamos haciendo esto porque Date(dateString) recibe dateString en formato yyyy-mm-dd y tiene una fecha en dd-mm-yyyy que no es aceptable, también lo estamos convirtiendo en un objeto Date porque como una cadena dd-mm-yyyy o yyyy-mm-dd no tiene mucho sentido, después de convertirlo al objeto Date podemos usar sus métodos para usar mejor los datos.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda