我怎樣才能修改blow的示例代碼,使其不僅能檢查空鍵,還能檢查空和未定義。 我試過
(obj[key] !== '' || obj[key] !== null || (obj[key] !== undefined)
但是,這破壞了它,根本沒有作業,所以如果我使用任何一個條件,它就會作業,但是當所有的條件都在一起時,就不會作業。所以我想知道我如何在這段代碼中結合這三個條件。
const removeEmpty=(obj)=> {
let newObj = {};
Object.keys(obj).forEach((key) => /span> {
if (obj[key] === Object(obj[key])) newObj[key] = removeEmpty(obj[key])。
else if (obj[key] !== ''/span>) newObj[key] = obj[key];
});
return newObj;
}
var obj = {
Sale: {
homeownerExemption: ''/span>,
lastContractDate: '',
lastSaleBookNumber: undefined,
lastSaleDate: null,
saleType: 'Full Sale',
salesPrice: '785000',
salesPriceCode: '銷售價格將被計算'。
seller1FName: '',
seller1IdCode: '',
seller1FirstName: 'Steve',
seller1LastName: 'Miller',
seller2FirstName: '',
seller2LastName: '',
transferType: 'Grant Deed',
lastTransactionRecordingDate: '7/8/2021'.
},
contact: [{
name: 'Tom'。
年齡: '',
性別: 'male'const removeEmpty = (obj) => {
let newObj = {};
Object.keys(obj).forEach((key) => /span> {
if (obj[key] === Object(obj[key])) newObj[key] = removeEmpty(obj[key])。
else if (! (obj[key] === "" || obj[key] === null || obj[key] === undefined)) newObj[key] = obj[key] 。
});
return newObj;
};
let test = removeEmpty(obj)
console.log(test)
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
如果obj[key] ==="",那么它不等于null或undefined。 所以你的條件的第二和第三部分通過了。
嘗試
if(! (obj[key] === "" || obj[key] === null || obj[key] === undefined)
uj5u.com熱心網友回復:
你需要適當地調整條件的括號。不要吝嗇小括號,它們是免費的! 一個合理的方法可以是這樣的:
((obj[key] !== ''/span>) || (obj[key] ! == null) || (obj[key] !== undefined)
你的條件在第二個||之后有一個額外的()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322216.html
標籤:
