JSFiddle - React, Tailwind, and code Playground
by Salmin Skenderovic
JavaScript
const data = [{
"Date": "2020-07-01",
"SE": 209834,
"NO": 84847,
"FI": 15082,
"DK": 1839,
"NZ": 7809,
"GB": 24185,
"FR": 31433
},
{
"Date": "2020-07-02",
"SE": 204861,
"NO": 77481,
"FI": 14752,
"DK": 1839,
"NZ": 6943,
"GB": 23140,
"FR": 30827
},
{
"Date": "2020-07-03",
"SE": 187073,
"NO": 73499,
"FI": 13509,
"DK": 1839,
"NZ": 7818,
"GB": 23371,
"FR": 30058
}
]
/*
const filter = item => new Date(item.Date) <= new Date("2020-07-02")
const res = data
.filter(filter)
.map(item => {
delete item.Date
return item
})
.reduce((acc, item) => {
Object.entries(item)
.forEach(([key, value]) => {
acc[key] = (acc[key] || 0) + value
})
return acc
}, {})
*/
// add only up to 2020-07-02
const expected = {
DK: 3678,
FI: 29834,
FR: 62260,
GB: 47325,
NO: 162328,
NZ: 14752,
SE: 414695
}
const foundIndex = data.findIndex(x => x.Date === "2020-07-02")
const entry = data[foundIndex];
const same = Object.keys(expected).every(countryCode => (expected[countryCode] === entry[countryCode]))
console.log(same)
//console.log(JSON.stringify(res) === JSON.stringify(expected) )