I need to replace elements in array by elements from another array by orderID key of the object. If the element is not in the array then it should be added.
I have implemented it (the example in code snippet below) and it mostly works.
The problem is that my implementation uses filter inside loop and it can be performance issue for large data.
Can it be implemented without loop inside loop?
let storageOrders = [
{orderID:1, data:'data1'},
{orderID:2, data:'data2'},
{orderID:3, data:'data3'},
{orderID:4, data:'data4'},
];
let summaryOrders = [
{orderID:2, data:'data2_new'},
{orderID:3, data:'data3_new'},
{orderID:5, data:'data5'},
];
summaryOrders.forEach((order) => {
storageOrders = storageOrders.filter(storageOrder => storageOrder.orderID !== order.orderID);
storageOrders.push(order);
});
console.log(storageOrders);