I have an object and I want to reduce the date and time together and calculate a number.
At the moment I'm trying the following code (but the 'time' value is missing)...
const myObject = [
{
"date": "2023-01-01",
"time": "18:00",
"somevalue": 2
},
{
"date": "2023-01-01",
"time": "18:00",
"somevalue": 5
},
{
"date": "2023-01-02",
"time": "19:00",
"somevalue": 10
},
{
"date": "2023-01-03",
"time": "06:00",
"somevalue": 13
}
];
const all = myObject.reduce( (prev, value) => (
{ ...prev, [value.date]: (prev[value.date] || 0) + value.somevalue } ), {});
// to array
console.log(
Object.entries(all).map( ([key, value]) => ( {date: key, somevalue: value} ) )
);
My question is: How can I add the "time" value. Like this:
[
{
"date": "2023-01-01",
"time": "18:00",
"somevalue": 7
},
{
"date": "2023-01-02",
"time": "19:00",
"somevalue": 10
},
{
"date": "2023-01-03",
"time": "06:00",
"somevalue": 13
}
]