组合两个数组,如果日期匹配,则使用javascript求和

组合两个数组,如果日期匹配,则使用javascript求和,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有两个数组a和b a = [ RowDataPacket { total_phone: 0, log_date: 2020-09-16T18:30:00.000Z }, RowDataPacket { total_phone: 2, log_date: 2020-09-17T18:30:00.000Z }, RowDataPacket { total_phone: 0, log_date: 2020-09-18T18:30:00.000Z },

我有两个数组a和b

a = [

      RowDataPacket { total_phone: 0, log_date: 2020-09-16T18:30:00.000Z },
      RowDataPacket { total_phone: 2, log_date: 2020-09-17T18:30:00.000Z },
      RowDataPacket { total_phone: 0, log_date: 2020-09-18T18:30:00.000Z },
      RowDataPacket { total_phone: 0, log_date: 2020-09-19T18:30:00.000Z },
      
    ]

b= [
  RowDataPacket {
    total_phone_calls: 1,
    date: 2020-09-16T18:30:00.000Z
  },
  RowDataPacket {
    total_phone_calls: 11,
    date: 2020-09-17T18:30:00.000Z
  },
  RowDataPacket {
    total_phone_calls: 5,
    date: 2020-07-24T18:30:00.000Z
  },
 
  }]
我不知道怎么做。有什么想法吗

正在查找c=[RowDataPacket{total:1,log_date:2020-09-16} ,RowDataPacket{total:13,log_date:2020-09-17},RowDataPacket{ 总计:0,日志日期:2020-09-18},行数据包{总计:0,日志日期: 2020-09-19},行数据包{总数:5,日志日期:2020-09-24}]


已编辑

const a=[
{电话号码:0,记录日期:'2020-09-16T18:30:00.000Z'},
{电话号码:2,记录日期:'2020-09-17T18:30:00.000Z'},
{电话号码:0,记录日期:'2020-09-18T18:30:00.000Z'},
{电话总数:0,记录日期:'2020-09-19T18:30:00.000Z'}
]
常数b=[
{电话总数:1,日期:'2020-09-16T18:30:00.000Z'},
{电话总数:11,日期:'2020-09-17T18:30:00.000Z'},
{电话总数:5,日期:'2020-07-24T18:30:00.000Z'}
]
常量obj={}
a、 forEach(项目=>{
如果(对象[项目日志\日期]==未定义){
obj[item.log\u date]=item.total\u电话
}否则{
obj[item.log\u date]+=item.total\u电话
}
})
b、 forEach(项目=>{
如果(对象[项目日期]==未定义){
obj[item.date]=item.total\u电话
}否则{
obj[item.date]+=item.total\u电话
}
})
常量键=对象键(obj)
常数arr=[]
keys.forEach(key=>{
arr.push({
总计:obj[键],
日志日期:key
})
})

console.log(arr)
如果两个ArrayOOPS中的两个日期都匹配,则您的逻辑没有添加总计,抱歉。我上传了错误的答案:)现在更新了。谢谢,你的代码救了我。。你能帮我一下吗