拒绝接收返回对象

Lodash reject get return object

本文关键字:对象 返回 拒绝      更新时间:2023-09-26
var obj = {a: [], b: [1,2], c: [], d: [1]};

如何获得如下所示的非空对象数组:

{b: [1,2], d: [1]}

你可以用pickBy()做你想做的。

var result = _.pickBy(obj, function(val){
    return val.length > 0;
});

点击此处:https://jsfiddle.net/W4QfJ/3160/

注意:不像filter()reject(),它返回一个对象,保持你原来的结构(而不是一个数组)。

另一种方法:_.omitBy(obj, _.isEmpty);

_filter()就是您要找的:

var obj = {a: [], b: [1,2], c: [], d: [1]};
console.log(_.filter(obj, function(o){ return o.length; }))

如果您想在标题中使用_reject(),您可以这样做:

_.reject({a: [], b: [1,2], c: [], d: [1]},function(o){ 
   return o.length == 0 
});

现在,Lodash有一个叫做_的方法。省略你所需要的:

> const object = {a: 1, b: 2, c: 3, d: 4}
undefined
> _.omit(object, ['a', 'c'])
{ b: 2, d: 4 }