I have this dataset:
var dataset = [
{time: "t1", val1: 0, val2: 0, val3: 1},
{time: "t2", val1: 0, val2: 0, val3: 4},
{time: "t3", val1: 1, val2: 0, val3: 0},
{time: "t4", val1: 3, val2: 0, val3: 0},
{time: "t2", val1: 0, val2: 3, val3: 0},
{time: "t4", val1: 0, val2: 2, val3: 0},
{time: "t5", val1: 2, val2: 0, val3: 0},
....
];
I want to reduce the dataset to uniques time entries but also combine the values per timestep. The result must look like this:
var dataset = [
{time: "t1", val1: 0, val2: 0, val3: 1},
{time: "t2", val1: 0, val2: 3, val3: 4},
{time: "t3", val1: 1, val2: 0, val3: 0},
{time: "t4", val1: 3, val2: 2, val3: 0},
{time: "t5", val1: 2, val2: 0, val3: 0},
....
];
I tried someting with the reduce() method based on other SO posts:
dataset.reduce(function(r,o){
var key = o.Date;
var newObj = o;
if (r[key] || (r[key]=[])) r[key].push(o);
return r;
}, []);
console.log(dataset);
It reduces the dataset to 5 entries, but the structure isn't exactly how I want it and I don't know how to combine the object values.
Any help is appreciated.
t3objects and two of them contain e.g.val2property. Which one should be used?