2017-08-10 70 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)) { 
}