• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

181
Views
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 3 years ago · Juan Pablo Isaza
3 answers
Answer question

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 3 years ago · Juan Pablo Isaza Report

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 3 years ago · Juan Pablo Isaza Report

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 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error