2017-08-10 71 views
1

我試圖檢查使用lodash空值如下:檢查空屬性值利用lodash

data.payload{ 
     name: "" 
} 

我的代碼:

import isEmpty from 'lodash.isempty'; 

if (isEmpty(data.payload)) { 

以上是假的,我怎麼能確認爲空值?

我有這樣的代碼在我的幫助:

export const isEmpty = some(obj, function(value) { 
    return value === ''; 
} 

);

在我的行動我有

if (isEmpty(data.payload)) { 

我得到的,的ReferenceError錯誤:obj是沒有定義但我傳遞的對象...

+0

https://stackoverflow.com/questions/44962321/lodash-check-object-properties-has-values –

+0

可能重複[lodash檢查對象屬性有值](https://stackoverflow.com/questions/44962321/lodash-check-object-properties-has-values) –

回答

1
_.some(obj, function (value) { return value === "" }) 

您可以使用此,如果有任何空屬性,它將返回true,如果全部都被定義,則返回false。

+0

謝謝,我已更新我的問題 – Bomber

+0

obj是你的data.payload –

+0

謝謝,我是新的反應,我把它作爲一個參數傳遞?如果(isEmpty(data.payload)){仍然不起作用 – Bomber

0

如果你想使用isEmpty()檢查有沒有對象,但falsey值,您可以撰寫使用values()compact()從對象創建值的數組的函數:

const isEmptyObject = _.flow(_.values, _.compact, _.isEmpty); 

isEmptyObject({}); 
// -> true 

isEmptyObject({ name: '' }); 
// -> true 

isEmptyObject({ name: 0 }); 
// -> true 

isEmptyObject({ name: '...' }); 
// -> false 
0

你可以使用isEmpty()lodash這樣

if(_.isEmpty(data.payload.name)){ 
} 

or 


import isEmpty from 'lodash.isempty'; 

if (isEmpty(data.payload.name)) { 
}