在检查空属性时排除 属性
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));
下面我有一个检查空 属性 的代码,如果一个 属性 为空,它将 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));