2017-07-07 226 views
0

我有對象有幾個屬性,說,這是這樣的lodash檢查對象屬性具有值

{ a: "", b: undefined } 
在JSX

沒有任何一條線解決方案,我可以檢查對象的屬性是否不爲空或具有價值或不?如果數組有一個isEmpty方法。

我想這

const somethingKeyIsnotEmpty = Object.keys((props.something, key, val) => { 
     return val[key] !== '' || val[key] !== undefined 
}) 
+0

你想檢查整個對象是否爲空或想檢查特定屬性? –

+0

@MayankShukla每個對象 –

+0

你想檢查所有的屬性,如果它們中的任何一個爲空或未定義,那麼最終輸出將爲true,否則爲false正確? –

回答

10

在lodash,你可以使用_.some

_.some(props.something, _.isEmpty) 
+0

哇可以在回調鏈lodash? –

+1

這是javascript。 _.isEmpty是一個函數,函數是JavaScript中的第一類(您可以將它作爲參數傳遞並從其他函數返回)。 –

1

可能方式:

迭代所有鍵和檢查值:

let obj = {a:0, b:2, c: undefined}; 
 

 
let isEmpty = false; 
 

 
Object.keys(obj).forEach(key => { 
 
    if(obj[key] == undefined) 
 
     isEmpty = true; 
 
}) 
 

 
console.log('isEmpty: ', isEmpty);

使用Array.prototype.some(),像這樣:

let obj = {a:0, b:1, c: undefined}; 
 

 
let isEmpty = Object.values(obj).some(el => el == undefined); 
 

 
console.log('isEmpty: ', isEmpty);

檢查的undefinednull指數:

let obj = {a:1, b:2, c: undefined}; 
 

 
let isEmpty = Object.values(obj).indexOf(undefined) >= 0; 
 

 
console.log('isEmpty: ', isEmpty);

+0

爲什麼在你的第二塊代碼中使用一些不是每個?我想檢查是否有任何對象沒有定義或未定義。 –

+0

@CeldricKang有些人會檢查是否有任何的值未定義,那麼它會返回true,我們也可以使用每一個,並檢查所有的值是否正確。 –

相關問題