繁体   English   中英

如何检查数组元素是否包含字符串?

[英]How to check if array elements contain string?

试图省略包含字符串的元素,它仍会返回包含Not Covered字符串的mailPrice ,对修复Not Covered任何想法吗?

数据

const drug = {
  "isBrand": false,
  "drugName": "Atorvastatin Calcium",
  "drugStrength": "80mg",
  "drugForm": "Tablet",
  "mailPrice": {
    "totalQuantity": 90,
    "rejectMessage": [{
      "settlementCode": "99",
      "settlementDesc": "Not Covered 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": {}
};

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包含字符串Not Covered

{
      "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": {}
    };

您是否在寻找这个: https : //jsfiddle.net/5cnqwfgu/1/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM