У меня есть 2 массива объектов
var arrayObj1 = [
{
"Plant": "Boston",
"OrderNo": "406643",
"Qty1": "56.1650",
"OrderDate": null,
"Status": null
}
];
var arrayObj2 = [
{
"Plant": "Boston",
"OrderNo": "406643",
"Qty2": "22.07",
"OrderDate": "28/11/2018",
"Status": null
},
{
"Plant": "Boston",
"OrderNo": "526209",
"Qty2": "21.84",
"OrderDate": "01/03/2019",
"Status": null
},
{
"Plant": "Boston",
"OrderNo": "526209",
"Qty2": "65.46",
"OrderDate": "01/03/2019",
"Status": null
}
];
Мой параметр сравнения - OrderNo, если номер заказа одинаков, тогда у этого объекта есть и конечное Qty1, и Qty2.
Предположим, в первом массивеобъект Qty1 существует (больше 0), но для соответствующего OrderNo Qty2 не существует во 2-м массиве объекта, тогда Qty2 должен быть 0 во вновь созданном 3-м массиве объекта.Так же для orderNo, если Qty2 существует (больше 0) во 2-м массиве объекта, но для соответствующего OrderNo Qty1 не существует в 1-м массиве объекта, тогда Qty2 должен быть 0 во вновь созданном 3-м массиве объекта.Также мы должны учитывать, что любой из двух массивов объектов может полностью пустой массив.
Я хочу создать новый массив объектов, подобный этому
var arrayObj3 = [
{
"Plant": "Boston",
"OrderNo": "406643",
"Qty1": "56.1650",// both Qty1 and Qty2 more than since both exists
"Qty2": "22.07",// for the OrderNo 406643
"OrderDate": "28/11/2018",
"Status": null
},
{
"Plant": "Boston",
"OrderNo": "526209",
"Qty1": "0",// Qty1 is 0 as it does not exist for OrderNo 526209
"Qty2": "21.84",
"OrderDate": "01/03/2019",
"Status": null
},
{
"Plant": "Boston",
"OrderNo": "526209",
"Qty1": "0",// Qty1 is 0 as it does not exist for OrderNo 526209
"Qty2": "65.46",
"OrderDate": "01/03/2019",
"Status": null
}
];
Как мне легко достичьмой желаемый массив объекта т.е.arrayObj3.Может кто-нибудь предложить мне решение в Vanilla JS (без JQuery и Lodash)?
Некоторые люди неправильно понимают логику.В первом массиве объекта Qty1 существует (больше 0), но для соответствующего OrderNo Qty2 не существует во 2-м массиве объекта, тогда Qty2 должен быть 0 во вновь созданном 3-м массиве объекта.Так же для orderNo, если Qty2 существует (больше 0) во 2-м массиве объекта, но для соответствующего OrderNo Qty1 не существует в 1-м массиве объекта, тогда Qty2 должен быть 0 во вновь созданном 3-м массиве объекта.Также мы должны учитывать, что любой из двух массивов объектов может полностью пустой массив.