Javascript 如何检查数组元素是否包含字符串?
试图忽略包含字符串的元素,但仍返回包含未覆盖字符串的Javascript 如何检查数组元素是否包含字符串?,javascript,arrays,angular,ecmascript-6,Javascript,Arrays,Angular,Ecmascript 6,试图忽略包含字符串的元素,但仍返回包含未覆盖字符串的mailPrice,是否知道修复方法 资料 main.js const priceFilterHandler = (item) => { const retailHasCode = findErrCode(item.retailPrice && item.retailPrice.rejectMessage); const mailHasCode = findErrCode(item.mailPrice &&
mailPrice
,是否知道修复方法
资料
main.js
const priceFilterHandler = (item) => {
const retailHasCode = findErrCode(item.retailPrice && item.retailPrice.rejectMessage);
const mailHasCode = findErrCode(item.mailPrice && item.mailPrice.rejectMessage);
if (retailHasCode) {
delete item.retailPrice;
}
if (mailHasCode) {
delete item.mailPrice;
}
return item;
}
const findErrCode = (data) => data && data.some((item) =>
item.settlementDesc.includes(!'Not Covered')
);
console.log(priceFilterHandler(drug));
预期产量
mailPrice在下面的响应中被省略,因为它的rejectMessage包含字符串未涵盖
{
"isBrand": false,
"drugName": "Atorvastatin Calcium",
"drugStrength": "80mg",
"drugForm": "Tablet",
"retailPrice": {
"totalQuantity": 30,
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"specialtyPrice": {}
};
你在找这个吗:
checkout
typeof
关键字您应该能够添加一个条件,如if(typeof val=='string')
您确定要检查包含该条件的拒绝消息吗?而不是settlementDesc
或其他什么?@TKol所以rejectMessage中的每个元素都有settlementDesc,我们需要检查它是否包含未覆盖的,然后返回true@TKoL好的,我已经通过检查项.结算ESC.包括(!'notcovered')更新了我的问题
它返回mailPrice
它也不应该像我在预期输出iitem.settlementDesc.includes(!'not Covered')中提到的那样返回here@hussain..please如果这能解决您的问题,请接受!
{
"isBrand": false,
"drugName": "Atorvastatin Calcium",
"drugStrength": "80mg",
"drugForm": "Tablet",
"retailPrice": {
"totalQuantity": 30,
"rejectMessage": [{
"settlementCode": "99",
"settlementDesc": "Sorry, the system is temporarily:Lo sentimos,Intente(Código de error 85)"
}]
},
"specialtyPrice": {}
};
Object.entries(drug).forEach(entry => {
if(typeof entry[1] === "object") {
if(entry[1]['rejectMessage'] && entry[1]['rejectMessage'].length > 0 && entry[1]['rejectMessage'][0]['settlementDesc'].includes('Not Covered')){
delete drug[entry[0]];
}
}
});
console.log(drug);