хотел удалить свойства, имеющие соответствующий errorCode, и преобразовать новый объект, как только будет выполнена вся фильтрация. Я не получаю ниже ожидаемого ответа, не знаю, в чем проблема с кодом ниже?
, если урегулированиеCode совпадает с drugPriceErrors findErrCodeдолжен вернуть true.
main.js
const data = [{
"isBrand": true,
"drugName": "Lipitor",
"mailPrice": {
"totalQuantity": 90,
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"retailPrice": {
"totalQuantity": 30,
"rejectMessage": [{
"settlementCode": "85",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"specialtyPrice": {}
},
{
"isBrand": false,
"drugName": "Atorvastatin Calcium",
"drugStrength": "80mg",
"drugForm": "Tablet",
"mailPrice": {
"totalQuantity": 90,
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"retailPrice": {
"totalQuantity": 30,
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"specialtyPrice": {}
}
];
const drugPricesErrors = [99,45,89];
function filterDrugs (data) {
const response = [];
const _drugPrice = data.map(item => {
const retailHasCode = findErrCode(item.retailPrice.rejectMessage);
const mailHasCode = findErrCode (item.mailPrice.rejectMessage);
if(retailHasCode) {
delete item.retailPrice;
}
if(mailHasCode) {
delete item.mailPrice;
}
return item;
});
_.forEach(_drugPrice, function(drug) {
if(drug.retailPrice !== undefined || drug.mailPrice !== undefined){
response.push(drug);
}
});
return response;
}
function findErrCode(data) {
const filterMessage = data.filter( message => drugPriceErrors.includes(item.settlementCode));
return filterMessage;
}
ожидаемый результат
[{
"isBrand": true,
"drugName": "Lipitor",
"retailPrice": {
"totalQuantity": 30,
"rejectMessage": [{
"settlementCode": "85",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"specialtyPrice": {}
}
]