This is my code snippet
let mainData = [
{ "date": "210201", "cordinatePoint": 0, "current": 105827649.12000011, "previous": null },
{ "date": "210101", "cordinatePoint": 0, "previous": 0, "current": null },
{ "date": "210202", "cordinatePoint": 1, "current": 0, "previous": null },
{ "date": "210102", "cordinatePoint": 1, "previous": 0, "current": null },
{ "date": "210102", "cordinatePoint": 2, "previous": 0, "current": null }
];
let data = [];
for (let i = 0; i < mainData.length - 1; i++) {
if (mainData[i].cordinatePoint === mainData[i + 1].cordinatePoint) {
mainData[i].current = mainData[i].current + mainData[i + 1].current;
mainData[i].previous = mainData[i].previous + mainData[i + 1].previous;
data.push(mainData[i]);
}
}
console.log(data); // where is cordinatePoint:2 ???
I want to find duplicate key value based on cordinatePoint
and add their current
and previous
value. I want to even push the non-duplicate items as it is in new array. I'm unable to achieve the second part. Can someone have a word on this please?