Me gustaría ordenar las fechas de acuerdo con cada identificación y cuando se pasa una identificación aparecerá en una sección de "identificación aprobada", si está en progreso en una sección "actual" y si no está en progreso pasada en una sección "próximamente". pronto". El inicio y el final tienen este formato: inicio: '2021-04-26T13:00:00.000Z', fin: '2021-04-26T15:30:00.000Z'
Gracias !
aquí está mi código:
fetch(urlCourses) .then(res => res.json()) .then(function (data) { let donnees = data; //console.log( JSON.stringify(tabStudents)); donnees.forEach(e => { tabCourses.push({ 'id': e.id, 'name': e.name, 'start': e.start, 'end': e.end, 'school_id': e.school_id, //'students': e.STUDENTS, 'classroom': e.classroom }); }); tabCourses.sort(function (a, b) { return new Date(a.start) - new Date(b.start); }); console.log('tabCourses sorted', tabCourses); }) .catch(function (error) { console.log(error); });Si desea ordenar por una columna y luego por otra columna, puedo referirlo a esta respuesta. (el brillante) ordenar la matriz de Javascript por dos campos numéricos
Si desea ordenar en 3 listas distintas de acuerdo con el valor de las fechas (inicio, fin y actual), primero debe ejecutar la matriz, agregando una columna llamada "sección" con valores posibles de: "aprobado", "progreso ", "futuro".
Luego puede ordenar por él o separarlo en 3 listas.
Te dejo a ti o a otros que escriban el código para eso.
Convierta su fecha en marca de tiempo y funcionará
tabCourses.sort(function (a, b) { return new Date(a.start).getTime() - new Date(b.start).getTime(); });