у меня есть следующие два объекта массива
const plan = [
{Item_ID : 01, Date:"2020-04-01", Items:"10"},
{Item_ID : 02, Date:"2020-04-01", Items:"20"},
{Item_ID : 03, Date:"2020-04-02", Items:"40"},
{Item_ID : 05, Date:"2020-04-03", Items:"10"},
];
const actual = [{Date:"2020-04-01", Actual_Items:"15"},
{Date:"2020-04-02", Actual_Items:"40"},
{Date:"2020-04-05", Actual_Items:"50"},
];
эти два массива показывают запланированные и фактические продажи, на основе этих двух массивов я пытаюсь создать приведенный ниже массив
const plan = [
{Item_ID : 01, Date:"2020-04-01", Items:"10", Actual_Items:"15"},
{Item_ID : 02, Date:"2020-04-01", Items:"20", Actual_Items:"15"},
{Item_ID : 03, Date:"2020-04-02", Items:"40", Actual_Items:"40"},
{Item_ID : 05, Date:"2020-04-03", Items:"10", Actual_Items:"0"},
{Item_ID : null, Date:"2020-04-04", Items:"0", Actual_Items:"0"},
{Item_ID : null, Date:"2020-04-05", Items:"0", Actual_Items:"50"},
];
поэтому, основываясь на запланированном массиве, если это фактические продажи, совершенные за этот день, мы показываем иначе: 0. Если ничего не было запланировано, но продажи были выполнены, Item_ID будет иметь значение null Элементы будут иметь значение NULL, но Actual_Items должен показывать количество продаж.
Я создал нижеприведенную функцию карты, возможно, совершенно неправильную логику c и не смог продолжить в будущем, есть идеи, как создать этот окончательный массив
let op = plan.map((e,i)=>{
let temp = actual.find(element=> element.Date === e.Date)
if(temp.Actual_Items) {
e.Actual_Items= temp.Actual_Items;
}
return e;
})
console.log(op);