Javascript 使用lodash从对象数组中提取具有属性的对象

Javascript 使用lodash从对象数组中提取具有属性的对象,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,我有一个大的对象数组,我需要获取属性设置为def的对象。没有什么价值。。。 提前感谢。您可以使用检查属性是否存在,并使用Array.prototype.filter仅过滤这些项 objArray=[{def:1,bar:2},{foo:3,bar:4},{def:5,bar:6}]; var result=objArray.filter(item=>item.hasOwnProperty('def'); 控制台日志(结果)您可以使用来检查属性是否存在,并使用Array.prototype.fi

我有一个大的对象数组,我需要获取属性设置为
def
的对象。没有什么价值。。。 提前感谢。

您可以使用检查属性是否存在,并使用
Array.prototype.filter
仅过滤这些项

objArray=[{def:1,bar:2},{foo:3,bar:4},{def:5,bar:6}];
var result=objArray.filter(item=>item.hasOwnProperty('def');
控制台日志(结果)
您可以使用来检查属性是否存在,并使用
Array.prototype.filter
仅过滤那些项

objArray=[{def:1,bar:2},{foo:3,bar:4},{def:5,bar:6}];
var result=objArray.filter(item=>item.hasOwnProperty('def');

控制台日志(结果)在lodash中没有这样的函数,尽管您可以尝试以下代码

`let aFilteredArray = [];
    _.forEach(YourArray,function(oElement){
      if(!_.isEmpty(oElement.def)){
        aFilteredArray.push(oElement);
      }
    };

lodash中没有这样的函数,尽管您可以尝试以下代码

`let aFilteredArray = [];
    _.forEach(YourArray,function(oElement){
      if(!_.isEmpty(oElement.def)){
        aFilteredArray.push(oElement);
      }
    };

可能重复@SergeK的可能重复。这不是同一个问题。我读这篇文章是因为他们想要的是具有特定属性集的对象,而不仅仅是该属性。@Archer你可能是对的,你认为我应该删除我的投票吗?@SergeK。由你决定。我也把它标为傻瓜,所以我认为它仍然存在。我们之间可能发现了一个副本:@SergeK的可能副本。这不是同一个问题。我读这篇文章是因为他们想要的是具有特定属性集的对象,而不仅仅是该属性。@Archer你可能是对的,你认为我应该删除我的投票吗?@SergeK。由你决定。我也把它标为傻瓜,所以我认为它仍然存在。我们之间可能发现了一个重复:D@Archer上面哪个函数与IE有问题?你指的是胖箭函数吗?@Archer上面哪个函数与IE有问题?您指的是胖箭头函数吗?