我有大量的对象,我需要获得具有属性def
的对象。没有价值......
提前谢谢。
答案 0 :(得分:5)
您可以使用hasOwnProperty检查属性是否存在,Array.prototype.filter
仅过滤这些项目。
objArray = [ { def: 1, bar: 2}, { foo: 3, bar: 4}, { def: 5, bar: 6} ];
var result = objArray.filter(item => item.hasOwnProperty('def'));
console.log(result);

用于es5兼容性
objArray = [{
def: 1,
bar: 2
}, {
foo: 3,
bar: 4
}, {
def: 5,
bar: 6
}];
var result = objArray.filter(function(item) {
return item.hasOwnProperty('def')
});
console.log(result);

答案 1 :(得分:0)
尽管您可以尝试以下代码
,但在lodash中没有这样的功能`let aFilteredArray = [];
_.forEach(YourArray,function(oElement){
if(!_.isEmpty(oElement.def)){
aFilteredArray.push(oElement);
}
};