【发布时间】:2019-10-09 08:23:41
【问题描述】:
如果对象 rejectMessage 包含我在 checkErrorCodes 方法中指定的代码,则尝试返回布尔值。如果结算代码匹配它的不返回布尔值,它应该返回 true 它正在重新调整整个 isError 函数。有什么想法或更好的方法来完成这项工作吗?
transformPrice.js
function transformPrice(oldDrugPrice) {
let drugPrice = {
"drugName": "Metformin",
"mailPrice": {
"copayEmployer": "N/A",
"totalQuantity": "90.0",
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Not Covered: Call us - System could not process your request. Call us at the toll-free number on your benefit ID card.||Sin cobertura: Llámenos - El sistema no pudo procesar su solicitud. Llame al número gratuito que figura en su tarjeta de identificación de beneficios."
}]
},
"retailPrice": {
"copayEmployer": "N/A",
"totalQuantity": "30.0"
}
},
if (drugPrice.retailPrice.rejectMessage || drugPrice.mailPrice.rejectMessage.length ){
const retailRejecrMsg = drugPrice.retailPrice.rejectMessage;
const mailPriceMsg = drugPrice.mailPrice.rejectMessage;
const retailErr = isErrorPresent(retailRejecrMsg);
const mailErr =isErrorPresent(mailPriceMsg);
}
return drugPrice;
}
isErrorPresent 方法
function isErrorPresent (price) {
const isError = function (element) {
const bRet = checkErrorCodes(element);
return (element.hasOwnProperty('settlementCode') && bRet)
}
return isError;
}
checkErrorCodes 方法
function checkErrorCodes(el){
let bRet = false;
const errorCodes = [
10015,
2356,
225,
224,
99
]
for (const err of errorCodes){
if (err === el.settlementCode){
bRet = true;
}
}
return bRet;
}
【问题讨论】:
-
element应该从哪里来? -
为什么
settlementCode不是一个整数? -
@JonasWilms 我已经检查了每个零售/邮件价格rejectMessage 数组,查看结算代码是否与代码匹配。它应该来自元素
-
@depperm 这就是后端返回的方式
-
我看到了几个问题:
settlementCodes与settlementCode,使用===将字符串与数字进行比较。
标签: javascript arrays angular ecmascript-6