我正在尝试使用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 :(得分:2)
如果您想使用isEmpty()
检查除 falsey 值之外的对象,您可以编写一个使用values()
和compact()
来构建的函数来自对象的值数组:
const isEmptyObject = _.flow(_.values, _.compact, _.isEmpty);
isEmptyObject({});
// -> true
isEmptyObject({ name: '' });
// -> true
isEmptyObject({ name: 0 });
// -> true
isEmptyObject({ name: '...' });
// -> false
答案 1 :(得分:1)
_.some(obj, function (value) { return value === "" })
你可以使用它,如果有任何空属性,它将返回true,如果定义了所有属性,则返回false。
答案 2 :(得分:0)
您可以使用isEmpty()
这样的lodash
if(_.isEmpty(data.payload.name)){
}
or
import isEmpty from 'lodash.isempty';
if (isEmpty(data.payload.name)) {
}
答案 3 :(得分:0)
您可以使用lodash中的some
或every
来检查所有键是否已通过条件或某些键已通过条件。
["barney", 36, "test"].some(_.isEmpty); // false
["barney", 36, ""].some(_.isEmpty); // true
或
["barney", 36, "test"].every(_.isEmpty); // false
["", [], ""].every(_.isEmpty); // true