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);