data = dataCsv.slice(0).reduce((acc, obj) => {
if (obj.place_type !== "city") return acc;
if (obj.date > updates[obj.state]) return acc;
let idx = dataTop30CitiesTemplate.findIndex(
i => i.name == obj.city && i.state == obj.state
);
if (idx == -1) return acc;
let dateIdx = acc[idx]["confirmed"].map(i => i[0]).indexOf(obj.date);
if (dateIdx >= 0) {
acc[idx]["confirmed"][dateIdx][1] += parseInt(obj.new_confirmed);
acc[idx]["deaths"][dateIdx][1] += parseInt(obj.new_deaths);
} else {
acc[idx]["confirmed"].push([obj.date, parseInt(obj.new_confirmed)]);
acc[idx]["deaths"].push([obj.date, parseInt(obj.new_deaths)]);
}
return acc;
}, dataTop30CitiesTemplate)