遍历数组a中的日期,取出的日期与b数组进行对比,如果a数组中缺少日期,就在a数组中的正确位置添加一个包含日期的值为0的对象
var a = [
{date: '2023-04-01', val: 123},
{date: '2023-04-02', val: 123},
// {date: '2023-04-03', val: 123},
{date: '2023-04-04', val: 123},
// {date: '2023-04-05', val: 123},
{date: '2023-04-06', val: 123},
// {date: '2023-04-07', val: 123},
];
var b = ['2023-04-01', '2023-04-02', '2023-04-03', '2023-04-04', '2023-04-05', '2023-04-06', '2023-04-07']
var c = a.map(function(item){return item.date})
console.log(c);
for(let i = 0; i < b.length; i++) {
if(b[i] !== c[i]) {
c.splice(i,0,b[i])
a.splice(i,0,{date: b[i], val: 0})
}
console.log(a);
}
返回的结果
[
{ date: '2023-04-01', val: 123 },
{ date: '2023-04-02', val: 123 },
{ date: '2023-04-03', val: 0 },
{ date: '2023-04-04', val: 123 },
{ date: '2023-04-05', val: 0 },
{ date: '2023-04-06', val: 0 },
{ date: '2023-04-07', val: 0 }
]