在检查空属性时排除 属性

Exclude property in checking empty properties

下面我有一个检查空 属性 的代码,如果一个 属性 为空,它将 return 为真。我的问题是我们如何在检查时排除其他 属性 ?

例如,我仍然想检查是否为空 属性,但我不想或者我想从检查中排除 generalRealEstateConcernsorChallenges、majorPositiveAttributes、摘要等属性。

所以下面的代码将只检查空的 属性 除了 generalRealEstateConcernsorChallenges、majorPositiveAttributes、摘要。但我不想删除那些 属性.

感谢您的帮助和想法。

代码

const hasEmptyProperty = Object.values((this.dealDispositionFormFields)).some((v => v === null || v === ""))

对象 - this.dealDispositionFormFields

{
   
    "dealName": "12743-J",
    "summary": "A",
    "majorPositiveAttributes": "b",
    "generalRealEstateConcernsorChallenges": "c",
    "terminationPayment": 23,
    "effectiveDate": "2021-12-15T00:00:00",
    "brokerCommission": 232,
    "brokerRebate": 23233,
    "isPharmacyRestriction": false,
    "netEffectiveBrokerCommission": -23001,
}

试试这个。这将排除检查您在排除数组中传递的所有键。

const excludeArray = ["generalRealEstateConcernsorChallenges", "majorPositiveAttributes" , "summary"];
const data = this.dealDispositionFormFields;

Object.keys(data).some((key) => {
  let value = data[key];
  return excludeArray.includes(key) ? false : (value === null || value === "");
})

参考可执行代码

let dealDispositionFormFields = {
  "dealName": "12743-J",
  "summary": "A",
  "majorPositiveAttributes": "b",
  "generalRealEstateConcernsorChallenges": "c",
  "terminationPayment": 23,
  "effectiveDate": "2021-12-15T00:00:00",
  "brokerCommission": 232,
  "brokerRebate": 23233,
  "isPharmacyRestriction": false,
  "netEffectiveBrokerCommission": -23001,
};

function checkEmptyKeys(data) {
  const excludeArray = ["generalRealEstateConcernsorChallenges", "majorPositiveAttributes", "summary"];

  return Object.keys(data).some((key, value) => {
    return excludeArray.includes(key) ? false : (data[key] === null || data[key] === "");
  });
}

console.log(checkEmptyKeys(dealDispositionFormFields));
dealDispositionFormFields.terminationPayment = "";
console.log(checkEmptyKeys(dealDispositionFormFields));