Estoy tratando de hacer un gráfico de líneas usando la biblioteca chart.js. Tengo una matriz que contiene las fechas ISO. Estoy tratando de verificar quién hace que las fechas ISO pertenezcan a la misma hora y al mismo día. Luego usaría esta información para crear el gráfico de líneas usando la biblioteca chart.js.
Por ejemplo, tengo esta matriz de fechas ISO:
[ { date: '2022-06-10T07:32:07.744Z' }, { date: '2022-06-10T08:32:38.490Z' }, { date: '2022-06-10T07:32:58.720Z' }, { date: '2022-06-10T07:33:25.121Z' }, { date: '2022-06-10T07:35:18.556Z' }, { date: '2022-06-10T07:35:56.459Z' }, { date: '2022-06-10T07:36:38.736Z' }, { date: '2022-06-10T07:36:38.736Z' } ]Quiero saber qué fechas ISO pertenecen a la misma hora y al mismo día de esta matriz.
Estoy tratando de hacer un gráfico de líneas como este: https://imgur.com/KuLqlD5 .
Puede usar un poco de expresiones regulares para obtener la parte del día y la hora y ordenarlos con eso.
const dates = [ { date: '2022-06-10T07:32:07.744Z' }, { date: '2022-06-10T08:32:38.490Z' }, { date: '2022-06-10T07:32:58.720Z' }, { date: '2022-06-10T07:33:25.121Z' }, { date: '2022-06-10T07:35:18.556Z' }, { date: '2022-06-10T07:35:56.459Z' }, { date: '2022-06-10T07:36:38.736Z' }, { date: '2022-06-10T07:36:38.736Z' } ] // Regex to get day and hour const hourAndDay = new RegExp('(\\d{1,2}T\\d{1,2})'); // Get unique day-hour pairs const d = dates.map(y => hourAndDay.exec(y.date)[0]) const uniques = dates.filter((x, i) => d.indexOf(hourAndDay.exec(x.date)[0]) === i) // Result object const result = {}; uniques.forEach(x => result[hourAndDay.exec(x.date)[0]] = []) // Sort based on hour and day dates.forEach((x) => { const parsed = hourAndDay.exec(x.date)[0]; result[parsed].push(parsed.split("T").map(Number)) }) console.log(result)