const data = [
{ date: '2021-12-25', cnt: 12 },
{ date: '2021-12-28', cnt: 73 },
{ date: '2021-12-30', cnt: 9 },
{ date: '2022-01-02', cnt: 4 },
{ date: '2022-01-03', cnt: 4 }
];
data.sort((a, b) => {
return new Date(a.date) - new Date(b.date);
});
const dates = [];
data.forEach(item => {
dates.push(item.date);
});
const startDate = new Date(dates[0]);
const endDate = new Date(dates[dates.length - 1]);
for (let d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {
console.log(d)
const dateStr = d.toISOString().slice(0, 10);
if (!dates.includes(dateStr)) {
data.push({ date: dateStr, cnt: 0 });
}
}
data.sort((a, b) => {
return new Date(a.date) - new Date(b.date);
});
console.log(data);