Tengo una lista de fechas que necesito convertir en un rango de fechas, cortando los valores de Mes que no están en la primera fecha de los rangos de fechas, al mismo tiempo que agrego las horas acumuladas para los días dentro de la porción del día.
Mi matriz de ejemplo es:
["Nov 23 2021 8 hrs", "Nov 24 2021 8 hrs", "Nov 27 2021 8 hrs", "Dec 3 2021 8 hrs"]Estoy tratando de hacer que la matriz final se vea así:
["Nov 23-24 2021 16hrs, Nov 27 2021 8hrs, Dec 3 2021 8hrs"]Hasta ahora pude obtener las fechas para concatenar correctamente con este código simplemente pasando una matriz que contiene solo números
const getDayRanges = (dayArr) => { var ranges = [], rstart, rend; for (var i = 0; i < dayArr.length; i++) { console.log("days" ,dayArr[i]) rstart = dayArr[i]; rend = rstart; while (dayArr[i + 1] - dayArr[i] == 1) { rend = dayArr[i + 1]; // increment the index if the numbers sequential i++; } ranges.push(rstart == rend ? rstart + "" : rstart + " to " + rend); } return ranges; };Pero no he estado a punto de descubrir cómo dividir los meses correctamente para colocarlos en una nueva matriz con los números de fecha con guión, y mucho menos cómo sumar todas las horas que se alinean con las fechas que están concatenadas.
Cualquier ayuda sería extremadamente apreciada.