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

212
Vistas
Ordenar una matriz en función de los tiempos

Tengo una serie de objetos que contienen marcas de tiempo y estoy intentando clasificarlos en orden ascendente. Intenté convertirlos a 24 horas usando el momento al ordenar y comparar las marcas de tiempo, pero por alguna razón sigo obteniendo mis tiempos en un orden aleatorio. ¿Se me escapa algo?

datos cuando ya se han convertido 12 horas de tiempo

 [{start: '9:04 AM', end: '9:34 AM'}, {start: '3:04 AM', end: '3:34 AM'}...]
 const sortedAppointments = appointments.sort( (a, b) => moment(a.start).format("H:mm") - moment(b.start).format("H:mm"), );

nota: estoy mapeando la matriz en la interfaz de usuario después de ordenarla. Pero la salida de esta función de clasificación todavía está fuera de servicio "/

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Lea los tiempos en el momento con el formato correcto, luego compare las marcas de tiempo de UNIX.

 const sortedAppointments = appointments.sort( (a, b) => moment(a.start, "h:mm a").unix() - moment(b.start, "h:mm a").unix() );
about 4 years ago · Juan Pablo Isaza Denunciar

0

Por si sirve de algo, aquí hay una versión sin la descarga de más de 200 kb de moment.js

 let appointments = [{ start: '9:04 AM', end: '9:34 AM' }, { start: '9:04 PM', end: '10:34 PM' }, { start: '3:04 AM', end: '3:34 AM' }] const conv = time => { let mer = time.split(" ")[1].toLowerCase(), tm = time.split(" ")[0].split(":"); if (mer === "pm") tm[0] = +tm[0] + 12; return +tm.join(''); } const sortedAppointments = appointments.sort( (a, b) => conv(a.start) - conv(b.start) ); console.log(sortedAppointments)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta es la solución que mejor me funcionó con el tiempo en UTC:

 const sortedAppointments = appointments.sort( (a, b) => moment(a.start).format("x") - moment(b.start).format("x"), );
about 4 years ago · Juan Pablo Isaza 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