const monthData = this.Mileage.reduce((acc, { day, speed, distance, wagons }) => {
const yearMonths = day.substring(0, 7);
if (acc[yearMonths]) {
acc[yearMonths].speed += speed;
acc[yearMonths].distance += distance;
acc[yearMonths].wagons += wagons;
} else {
acc[yearMonths] = {day, speed, distance, wagons };
}
return acc;
}, {})
const quarterOf = (month) => {
if (month <= 3) {
return this.kvartalI.push(month)
} else if (month > 3 && month <= 6) {
return this.kvartalII.push(month)
} else if (month > 6 && month <= 9) {
return this.kvartalIII.push(month)
} else if (month > 9 && month <= 12) {
return this.kvartalIV.push(month)
}
}
2021-07: {day: '2021-07-23T00:00:00', speed: 3283, distance: 3283, wagons: 1}
2021-09: {day: '2021-09-26T00:00:00', speed: 1879, distance: 1879, wagons: 1}
2022-03: {day: '2022-03-11T00:00:00', speed: 10372, distance: 15558, wagons: 3}
2022-07: {day: '2022-07-25T00:00:00', speed: 455, distance: 455, wagons: 1}
2022-09: {day: '2022-09-24T00:00:00', speed: 3720.0666666666666, distance: 18632, wagons: 11}
2022-10: {day: '2022-10-01T00:00:00', speed: 55944.81598981719, distance: 1227358, wagons: 805}
2022-11: {day: '2022-11-01T00:00:00', speed: 35877.33829052166, distance: 6621346, wagons: 5528}
2022-12: {day: '2022-12-01T00:00:00', speed: 39757.51849326638, distance: 9322141, wagons: 7258}
2023-01: {day: '2023-01-01T00:00:00', speed: 16726.83149608712, distance: 1022607, wagons: 794}
data.map(({ day, ...rest }) => {
const quarter = ['I', 'II', 'III', 'IV'][Math.floor((+day.substring(5, 7) - 1) / 3)];
const year = day.substring(0, 4);
const hash = `${year}-${quarter}`; // "2022-IV"
return { hash, day, ...rest };
})
[
{
"hash": "2021-III",
"day": "2021-07-23T00:00:00",
"speed": 3283,
"distance": 3283,
"wagons": 1
},
{
"hash": "2021-III",
"day": "2021-09-26T00:00:00",
"speed": 1879,
"distance": 1879,
"wagons": 1
},
{
"hash": "2022-I",
"day": "2022-03-11T00:00:00",
"speed": 10372,
"distance": 15558,
"wagons": 3
},
{
"hash": "2022-III",
"day": "2022-07-25T00:00:00",
"speed": 455,
"distance": 455,
"wagons": 1
},
{
"hash": "2022-III",
"day": "2022-09-24T00:00:00",
"speed": 3720.0666666666666,
"distance": 18632,
"wagons": 11
},
{
"hash": "2022-IV",
"day": "2022-10-01T00:00:00",
"speed": 55944.81598981719,
"distance": 1227358,
"wagons": 805
},
{
"hash": "2022-IV",
"day": "2022-11-01T00:00:00",
"speed": 35877.33829052166,
"distance": 6621346,
"wagons": 5528
},
{
"hash": "2022-IV",
"day": "2022-12-01T00:00:00",
"speed": 39757.51849326638,
"distance": 9322141,
"wagons": 7258
},
{
"hash": "2023-I",
"day": "2023-01-01T00:00:00",
"speed": 16726.83149608712,
"distance": 1022607,
"wagons": 794
}
]